URAL 1878. Rubinchik's Cube(恶搞)

题目链接

和QC没事搞个练习赛,感觉水题居多,这个是我做的唯一比较印象深刻的。这个题,看着题意 那叫一个纠结啊。

然后 有点恶搞,以为BFS,DFS神马的,自己乱写了几个代码,错了两次后,想到了正解。。。幸好认真思考了。。。

 1 #include <stdio.h>
 2 #include <string.h>
 3 #define N 1000000
 4 int p[5][5],z,o[5];
 5 int main()
 6 {
 7     int i,j,min,k;
 8     z = 0;
 9     for(i = 1; i <= 4; i ++)
10         for(j = 1; j <= 4; j ++)
11             scanf("%d",&p[i][j]);
12     for(i = 1; i <= 2; i ++)
13         for(j = 1; j <= 2; j ++)
14         {
15             o[p[i][j]] ++;
16         }
17     min = N;
18     for(k = 1; k <= 4; k ++)
19     {
20         z = 0;
21         if(p[1][1] != k)
22         {
23             if(p[4][1] == k||p[1][4] == k)
24             z ++;
25             else
26             z += 2;
27         }
28         if(p[1][2] != k)
29         {
30             if(p[2][4] == k||p[3][1] == k)
31             z ++;
32             else
33             z += 2;
34         }
35         if(p[2][1] != k)
36         {
37             if(p[1][3] == k||p[4][2] == k)
38             z ++;
39             else
40             z += 2;
41         }
42         if(p[2][2] != k)
43         {
44             if(p[2][3] == k||p[3][2] == k)
45             z ++;
46             else
47             z += 2;
48         }
49         if(min > z)
50         min = z;
51     }
52     printf("%d\n",min);
53     return 0;
54 }

 

posted @ 2012-07-29 21:52  Naix_x  阅读(239)  评论(3编辑  收藏  举报