找规律
#include <bits/stdc++.h>
using namespace std;
int xuhao[6][6]={{0,1,2,3,4,5},{5,1,3,2,4,0},{1,5,2,3,0,4},{4,0,2,3,5,1},{2,1,5,0,4,3},{3,1,0,5,4,2}};//设想这个立方体上的编号是固定的写在上面的随立方体方位旋转而旋转,而画颜色的顺序(字符串中字母顺序)则是固定的,就是按题中的顺序,从固定的方向画,不随立方体旋转而改变方向。
const int N=20;
char s[N];
char s_l[N],s_r[N];
bool found()
{
char temp[N];
for(int i=0;i<=5;i++){
for(int l=0;l<6;l++){
temp[l]=s_l[xuhao[i][l]];
}
temp[6]='\0';//不及时做结束标志,会让后面strcmp比较时出现错误
for(int j=1;j<=4;j++){
char t=temp[1];
temp[1]=temp[2];
temp[2]=temp[4];
temp[4]=temp[3];
temp[3]=t;
if(strcmp(temp,s_r)==0)
return true;
}
}
return false;
}
int main()
{
while(scanf("%s",&s)!=EOF){
for(int i=0;i<6;i++){
s_l[i]=s[i];
s_r[i]=s[i+6];
}
s_l[6]='\0',s_r[6]='\0';//不及时做结束标志,会让后面strcmp比较时出现错误
if(found())
cout<<"TRUE"<<endl;
else
cout<<"FALSE"<<endl;
}
}
状态不好的要没爱了、