题目大意:求两个立方体是否相同
解体思路:只要对面都相同的话这个立方体就相同,设置二维数组,将其一维的看成是第一个面,二维的看成是第二个面,这样的话,里面的数字就等于是这样的对面出现了多少次,最后只需判断3个二维数组的就可以了,因为一个数组为一个对面,3个对面都相等的话就相同了
#include<cstdio>
#include<cstring>
#include<cstdlib>
int main() {
char str[20];
char cube1[130][130];
char cube2[130][130];
while(scanf("%s", str) != EOF ) {
memset(cube1,0,sizeof(cube1));
memset(cube2,0,sizeof(cube2));
for(int i = 0; i <= 2; i++) {
cube1[str[i]][str[5-i]]++;
cube1[str[5-i]][str[i]]++;
}
for(int i = 6; i <= 8; i++) {
cube2[str[i]][str[17 - i]]++;
cube2[str[17-i]][str[i]]++;
}
int i;
for(i = 0; i <= 2; i++)
if(cube1[str[i]][str[5-i]] != cube2[str[i]][str[5-i]])
break;
if(i == 3)
printf("TRUE\n");
else
printf("FALSE\n");
}
return 0;
}