UVA - 253 Cube painting(涂骰子)

127 阅读1分钟

题意:

对于给出的两个骰子,问是否相同 ,骰子可以任意旋转。

思路:有一个很重要的规律,只要3个对面相同的话那么两个骰子就可以旋转成一样,按照这个思路,只要比较三个对面,最多比较9次就可以得出结果。

#include<iostream>
using namespace std;
char s[13];
int main()
{
while(scanf("%s",s)!=EOF){
	//cout<<s<<endl;
	
	int fla=0;
	for(int i=0;i<3;i++)
		for(int j=6;j<9;j++){
			if(s[i]==0||s[j]==0) continue;
			if((s[i]==s[j]&&s[5-i]==s[17-j])||(s[i]==s[17-j]&&s[5-i]==s[j])){
					s[i]=s[17-j]=s[5-i]=s[j]=0;
					fla++;
			}
		}
		//cout<<fla<<endl;
	if(fla==3) puts("TRUE");
	else puts("FALSE");
}
		


return 0;	
 } 


\