UVA 253 Cube painting

Posted fudanxi

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了UVA 253 Cube painting相关的知识,希望对你有一定的参考价值。

题意:输入字符串代表2个骰子,求出他们是不是相同的骰子(通过旋转)。

思路:①注意输入的字符串代表了骰子颜色的分布,如下:

技术分享图片

同时这也是数颜色的顺序(未转动时),和字符串内容的顺序。

②骰子1不动,骰子2不停转动,分别选0到5做上图标号为1的位置(6次),然后2到4不停的转动(即4面转动,4次),

共24次(最坏)。

③下图分别为1转动到位置编号1,和0在位置编号0,骰子水平面向左旋转90°得到的骰子。

技术分享图片           技术分享图片

数一下,分别是1,5,2,3,0,4,  和0,3,1,4,2

分别重复,可以观察出:1.旋转6次对应的颜色顺序;

2.旋转其实是,ch=str3[1];str3[1]=str3[2];str3[2]=str3[4];str3[4]=str3[3];str3[3]=ch;
 

 1 #include "stdio.h"
 2 #include "string.h"
 3 #include "stdlib.h"
 4 #define FIN freopen("input.txt","r",stdin)
 5 #define FOUT     freopen("output.txt","w",stdout)
 6 char c[12],str1[7],str2[7],str3[7];
 7 int roll[7][7] = { {0,1,2,3,4,5},{1,5,2,3,0,4},{2,1,5,0,4,3}, {3,1,0,5,4,2},{4,0,2,3,5,1},{5,4,2,3,1,0}};
 8 int main()
 9 {
10 //    FIN;
11 //    FOUT;
12     while(scanf("%s",c)!=EOF)
13     {
14         for(int i=0;i<12;i++)
15         {
16             if(i<=5)
17                 str1[i]=c[i];
18             else
19                 str2[i-6]=c[i];
20         }
21         str1[6]=;
22         str2[6]=;
23         int flag=0;
24 //        printf("1=%s 2=%s
",str1,str2);
25         for(int i=0;i<6;i++)
26         {
27             for(int j=0;j<6;j++)
28                 str3[j]=str2[roll[i][j]];
29             str1[6]=;
30             if(strcmp(str1,str3)==0)
31             {
32                 flag=1;
33                 break;
34             }
35             for(int j=0;j<3;j++)
36             {
37                 char ch=str3[1];
38                 str3[1]=str3[2];
39                 str3[2]=str3[4];
40                 str3[4]=str3[3];
41                 str3[3]=ch;
42                 if(strcmp(str1,str3)==0)
43                 {
44                     flag=1;
45                     break;
46                 }
47             }
48             if(flag)
49                 break;
50         }
51         if(flag)
52             printf("TRUE
");
53         else
54             printf("FALSE
");
55     }
56     return 0;
57 }

 

             
               
               

 




以上是关于UVA 253 Cube painting的主要内容,如果未能解决你的问题,请参考以下文章

UVA253 Cube painting置换

UVA 253 Cube painting

UVA 253 Cube painting

Cube painting UVA - 253

UVA 253 Cube painting(枚举 模拟)

UVa 253 骰子涂色