判断两个骰子是否等价
做题体会:
明显枚举法可以解决问题。但是我思考是否可以用骰子的特性来解决这个问题呢?
骰子是有规律可寻,可惜我再三思考,也找不到明确的规律出来,确定8个角的时候,如果对换对面的两个字母,是判断不到的。希望找到规律的同学赐教。
#include <stdio.h>
#include <ctype.h>
int a[10], b[10];
int d[50]={0, 1,2,3,5,4,6, 2,6,3,1,4,5, 3,2,6,5,1,4, 4,2,1,5,6,3, 5,1,3,6,4,2, 6,2,4,5,3,1};
void change(int n)
{
int t;
t = d[n];
d[n] = d[n+1];
d[n+1] = d[n+2];
d[n+2] = d[n+3];
d[n+3] = t;
}
int main()
{
for(;;)
{
int i, z, check = 0;
for(i = 1; i <= 12; i++)
{
if(i <= 6)
{
a[i] = getchar();
while(!isalpha(a[i]))
{
if(a[i] == '0')
return 0;
a[i] = getchar();
}
}
else
{
b[i-6] = getchar();
while(!isalpha(b[i-6]))
b[i-6] = getcha