uva 253 Cube painting

这道题跟我们小时候学筛子的时候有关,因为是6面三个颜色所以,直接看1-6,2-5,3-4的颜色搭配是否相同,相当于无向图,看看两个图是否相同就可以了。。注意是无向图哦~
View Code
 1 #include <stdio.h>
 2 #include <string.h>
 3 int trans(char c)
 4 {
 5     switch(c)
 6     {
 7         case 'r':return 0;
 8         case 'b':return 1;
 9         case 'g':return 2;
10         default:return -1;break;
11     }
12     return -1;
13 }
14 int main()
15 {
16     char str[20];
17     int hash1[3][3],hash2[3][3];
18     int leap = 0;
19     while(~scanf("%s",str))
20     {
21         memset(hash1,0,sizeof(hash1));
22         memset(hash2,0,sizeof(hash2));
23 
24         leap = 1;
25         hash1[trans(str[0])][trans(str[5])] = hash1[trans(str[5])][trans(str[0])] = 1;
26         hash1[trans(str[1])][trans(str[4])] = hash1[trans(str[4])][trans(str[1])] = 1;
27         hash1[trans(str[2])][trans(str[3])] = hash1[trans(str[3])][trans(str[2])] = 1;
28         hash2[trans(str[6])][trans(str[11])] = hash2[trans(str[11])][trans(str[6])] = 1;
29         hash2[trans(str[7])][trans(str[10])] = hash2[trans(str[10])][trans(str[7])] = 1;
30         hash2[trans(str[8])][trans(str[9])] = hash2[trans(str[9])][trans(str[8])] = 1;
31 
32         if((hash1[trans(str[0])][trans(str[5])] && hash2[trans(str[0])][trans(str[5])]) == 0)
33         leap = 0;
34         if((hash1[trans(str[1])][trans(str[4])] && hash2[trans(str[1])][trans(str[4])]) == 0)
35         leap = 0;
36         if((hash1[trans(str[2])][trans(str[3])] && hash2[trans(str[2])][trans(str[3])]) == 0)
37         leap = 0;
38 
39         if((hash2[trans(str[6])][trans(str[11])] && hash1[trans(str[6])][trans(str[11])]) == 0)
40         leap = 0;
41         if((hash2[trans(str[7])][trans(str[10])] && hash1[trans(str[7])][trans(str[10])]) == 0)
42         leap = 0;
43         if((hash2[trans(str[8])][trans(str[9])] && hash1[trans(str[8])][trans(str[9])]) == 0)
44         leap = 0;
45 
46         if(leap)
47         puts("TRUE");
48         else
49         puts("FALSE");
50     }
51     return 0;
52 }
posted @ 2012-09-06 00:51  某某。  阅读(203)  评论(0编辑  收藏  举报