输入两个正方体的六个面,看看这两个正方体是否匹配,我们知道,要是两个正方体匹配,只要一个正方体的三个面和另外一个正方体的三个面匹配,那么这两个正方体就匹配,我们首先定义三个数组,一个数组用来存输入字符串,剩下的两个数组,用一个数组的三个面来遍历另外一个数组的六个面。同时用flag来作标识。b[i]==c[j]&&b[5-i]==c[5-j],这就是判断两个正方体是否匹配 ,如果匹配,则有 c[j]='0'; c[5-j]='0';具体详解看代码。
#include<iostream>
#include<cstdio>#include<cstring>
using namespace std;
int main()
{
char a[15],b[6],c[6];
while(~scanf("%s",&a))
{
for(int i=0;i<6;i++)
{
b[i]=a[i];
c[i]=a[i+6];
}
int flag;
for(int i=0;i<3;i++)
{
flag=0;
for(int j=0;j<6;j++)
{
if(b[i]==c[j]&&b[5-i]==c[5-j])
{
flag=1;
c[j]='0';
c[5-j]='0';
break;
}
}
if(!flag)
break;
}
if(flag)
printf("TRUE\n");
else
printf("FALSE\n");
}
return 0;
}