骰子涂色 (Cube painting,UVa 253)

题目描述:算法竞赛入门习题4-4

 题目思路:1.旋转其中一个骰子进行匹配

      2.进行遍历,如果匹配,就进行相对面的匹配

     3.三个对立面都匹配即是一样等价的  

//没有按照原题的输入输出

 1 #include <stdio.h>
 2 int main(int argc, char *argv[])
 3 {
 4     char a[15],s1[15],s2[15];
 5     while(scanf("%s",a) != EOF){
 6         for(int i=0;i<6;i++){
 7             s1[i] = a[i] ;
 8             s1[i] = a[i+6] ;
 9         }
10         int mrk;
11         for (int i = 0; i < 3; i++){
12             mrk = 0;
13             for (int j = 0; j < 6; j++){                
14                 if (s1[i] == s2[j] && s1[5 - i] == s2[5 - j]){
15                     mrk = 1; s2[j] = '0'; s2[5 - j] = '0'; break;
16                 }
17             }
18             if (!mrk)    break;
19         }
20         if (!mrk)    printf("YES\n") ;
21         else printf("NO\n") ;
22     }
23     return 0;
24 }

猜你喜欢

转载自www.cnblogs.com/secoding/p/9484736.html