uva253 Cube painting(UVA

题目大意

输入有三种颜色判断两个骰子是否相同

思路(借鉴)

①先用string输入那12个字符,然后for出两个骰子各自的字符串

②这里用的算法是先找出第一个的三个面与第二个的六个面去比较,如果找到相同的面并且他们的对面相等那么继续寻找,直到三个面都能找到相对立的面

③如果有一个面没有找到相等的面或者相等的对面之类的那么就break循环然后直接判断FALSE如果三个面都能满足上述条件,那么就是TRUE

代码

#include <bits/stdc++.h>
using namespace std;
main()
{
	string a;
	while(cin>>a)
	{
		string t1;
		string t2;
		for(int i=0;i<6;i++)
		{
			t1=t1+a[i];
			t2=t2+a[i+6];
		}
		int bk;
		for(int i=0;i<3;i++)
		{
			bk=0;
			for(int j=0;j<6;j++)
			{
				if(t1[i]==t2[j]&&t1[5-i]==t2[5-j])
				{
					bk=1;t2[j]=t2[5-j]='0';
					break;
				}
			}
			if(!bk)
			break;
		}
		if(!bk)
		cout<<"FALSE
";
		else
		cout<<"TRUE
";
	}
}
原文地址:https://www.cnblogs.com/baccano-acmer/p/9775392.html