现在的位置: 首页 > 综合 > 正文

URAL 1878 Rubinchik’s Cube 水题

2018年01月11日 ⁄ 综合 ⁄ 共 740字 ⁄ 字号 评论关闭

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

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;
}

抱歉!评论已关闭.