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]=‘