紫书章四 习题4 Cube painting UVA

来源:互联网 发布:淘宝助理ipad版 编辑:程序博客网 时间:2024/05/01 14:11

其实只要能想到三对相同就好了

#include <iostream>#include <cstring>#include <algorithm>#include <cstdio>using namespace std;char s[20];struct node{    char q,p;};node s1[5],s2[5];int vis[5];int main(){    while(scanf("%s",s)!=EOF)    {        memset(vis,0,sizeof(vis));        memset(s1,0,sizeof(s1));        memset(s2,0,sizeof(s2));        for(int i=0;i<3;i++)        {            if(s[i]>s[5-i])                swap(s[i],s[5-i]);            s1[i].p=s[i],s1[i].q=s[5-i];        }        for(int i=0;i<3;i++)        {            if(s[i+6]>s[11-i])                swap(s[i+6],s[11-i]);            s2[i].p=s[i+6],s2[i].q=s[11-i];        }        for(int i=0;i<3;i++)        {            char a=s2[i].p,b=s2[i].q;            for(int j=0;j<3;j++)            {                if(vis[j]==0&&a==s1[j].p&&b==s1[j].q){                    vis[j]=1;                    break;                }            }        }        int flag=0;        for(int i=0;i<3;i++)        {            if(vis[i]==0) {printf("FALSE\n");flag=1;break;}        }        if(!flag) printf("TRUE\n");    }    return 0;}
0 0
原创粉丝点击