URAL 1878Rubinchik's Cube 水题

来源:互联网 发布:数据库数据模型有几种 编辑:程序博客网 时间:2024/06/07 20:29

题意:给四种方块,每种方块都可以顺时针和逆时针旋转。

A把很多这四种方块用一根木棍串起来,形成一个图形,求至少需要旋转多少次能达成一个角只有一种颜色。


//author: CHC//First Edit Time:2014-07-18 14:53//Last Edit Time:2014-07-18 14:53#include <iostream>#include <cstdio>#include <cstring>#include <cmath>#include <set>#include <vector>#include <map>#include <queue>#include <set>#include <algorithm>using namespace std;int mapp[5][5];int getval(int x,int y){    int cnt=0;    for(int i=1;i<=2;i++){        for(int j=1;j<=2;j++){            cnt+=min(abs(mapp[i][j]-mapp[x][y]),4-abs(mapp[i][j]-mapp[x][y]));        }    }    return cnt;}int main(){    while(1){        int flag=0;        for(int i=1;i<=4&&flag!=EOF;i++)        for(int j=1;j<=4&&flag!=EOF;j++)            flag=scanf("%d",&mapp[i][j]);        if(flag==EOF)break;        int mm=1000;        for(int i=1;i<=2;i++){            for(int j=1;j<=2;j++){                int vv=getval(i,j);                if(mm>vv)mm=vv;            }        }        printf("%d\n",mm);    }    return 0;}


0 0