题目大意
输入有三种颜色判断两个骰子是否相同
思路(借鉴)
①先用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\n";
else
cout<<"TRUE\n";
}
}
原文地址:https://www.cnblogs.com/baccano-acmer/p/9775392.html
时间: 2024-10-11 00:50:35