a[6]储存骰子上下左右前后的数字
利用函数swap改变数组的值
#include<iostream>
#include<bits/stdc++.h>
using namespace std;
void ahead(int a[])
{
swap(a[0],a[4]);
swap(a[0],a[5]);
swap(a[1],a[5]);
}
void behind(int a[])
{
swap(a[0],a[5]);
swap(a[0],a[4]);
swap(a[1],a[4]);
}
void light(int a[])
{
swap(a[0],a[2]);
swap(a[0],a[1]);
swap(a[0],a[3]);
}
void right(int a[])
{
swap(a[0],a[2]);
swap(a[1],a[2]);
swap(a[1],a[3]);
}
int main()
{
int T,j,i;
char c;
int a[6]; //分别对应上,下,左,右,前,后
scanf("%d",&T);
for(j=1;j<=T;j++){
for(i=0;i<6;i++){
scanf("%d",&a[i]);
}
getchar();
while(1){
c=getchar();
if(c=='F') ahead(a);
if(c=='B') behind(a);
if(c=='L') light(a);
if(c=='R') right(a);
if(c=='\n') break;
}
printf("Case %d: %d\n",j,a[0]);
}
return 0;
}