Exercice 4_4uva253 dés coloration

Ce problème emmm ont cherché régulière, Mo a été le résultat de la loi avait éclaté contact ...
pour voir Liu a écrit que beaucoup pour obtenir ces 24 permutations avec ce que je ne comprends pas ...
mais en fait, la simulation, sera particulièrement simple, comme

en fait, sur chacun des trois cas ... au milieu de quatre marche sur quatre types de réincarnation ... donc il y a 12, puis la tête en bas , vous trouverez, en fait, aussi longtemps que vos peuvent lire 12 types originaux d'arrière en avant afin que les 24 sortes ... ,
ne disent pas, coincé dans un problème deux jours pour que l'eau ... la violence ne vaincrons pas ...
le code ci - dessous

#include <bits/stdc++.h>
using namespace std;
int q[24][6]={{0,0,0,0,0,0},
{1,2,3,4,5,6},{1,3,4,5,2,6},{1,4,5,2,3,6},{1,5,2,3,4,6},
{5,2,1,4,6,3},{5,1,4,6,2,3},{5,4,6,2,1,3},{5,6,2,1,4,3},
{2,6,3,1,5,4},{2,3,1,5,6,4},{2,1,5,6,3,4},{2,5,6,3,1,4}
};
int main()
{
	char s[18],s2[18];
	while(~(scanf("%s",s)))
	{
		int okk = 0;
		for (int i = 0; i < 6; i++)
		   s2[i] = s[i+6];
		swap(s[4],s[3]);//交换,让她和我想法中的123456顺序一样 
		swap(s2[4],s2[3]);
		for (int i = 1; i <= 12;i++)//爆摸 
		{
			int ok = 1;
			for (int j = 0; j < 6;j++)
			{
				if(s2[q[i][j]-1] != s[j])
				{
					ok = 0; break;
				}
			} 
			if(!ok)//反过来即下变上 
			{
				ok = 1; 
				for (int j = 0; j < 6; j++)
				{
					if(s2[q[i][5-j]-1] != s[j])//注意是5-j 
					{
						ok = 0;
						break;
					}
				}
			}
			if(ok) {
				okk = 1; break;
			}
		}
		if(okk) printf("TRUE\n");
		else printf("FALSE\n");
	}
	return 0;
} 
Publié 55 articles originaux · louange gagné 1 · vues 2670

Je suppose que tu aimes

Origine blog.csdn.net/qq_37548017/article/details/99547804
conseillé
Classement