Ejercer 4_4uva253 dados para colorear

Este problema emmm han estado buscando regular, Mo fue el resultado de la ley se había reventado toque ...
para ver Liu escribió mucho para conseguir esos 24 permutaciones con lo que no entiendo ...
pero, de hecho, la simulación, será particularmente simple, ya que

, de hecho, en cada uno de los tres casos ... el medio de cuatro pasos en cuatro tipos de reencarnación ... por lo que hay 12, y luego al revés se encuentra, de hecho, siempre y cuando sus 12 tipos originales se pueden leer de atrás hacia delante de modo que los 24 tipos ... ,
no dicen, atrapado en un problema de dos días para que el agua ... la violencia no va a la derrota ...
el código de abajo

#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;
} 
Publicado 55 artículos originales · ganado elogios 1 · vistas 2670

Supongo que te gusta

Origin blog.csdn.net/qq_37548017/article/details/99547804
Recomendado
Clasificación