判断两个正方体旋转以后是否相等
判断两个正方体每个面有不同的颜色,在对第二个正方体旋转以后是否和第一个正方体相同。其实方法很简单,就是判断第一个正方体有三个互相垂直的面a,b,c;我们只需要判断这三个面以及与其平行的那个面在另外一个正方形中能找到互不相通的对应的一组面即可。
#include<bits/stdc++.h>
using namespace std;
int main(){
string a,c1,c2;
while (cin >> a){
int i, j = 0;
for (i = 0; i < 6; i++){
c1[i] = a[i];
c2[i] = a[i + 6];
}
int flag;
for (i = 0; i < 3; i++){//第一个正方体有三个互相垂直的面
flag = 0;
for (j = 0; j < 6; j++){//判断是否能在第二个正方体中找到与其相同的两个面
if (c1[i] == c2[j] && c1[5 - i] == c2[5 - j]){
flag = 1; c2[j] = '0'; c2[5 - j] = '0'; break;
}
}
if (!flag) break;
}
if (!flag) cout << "FALSE" << endl;
else cout << "TRUE" << endl;
}
return 0;
}