题目:http://acm.hust.edu.cn/vjudge/problem/viewProblem.action?id=369691
代码:
#include<stdio.h> #include<string.h> using namespace std; int main() { int t; scanf("%d",&t); while(t--) { int D,B1,B2,B3,B4; int ans[6]; int position[6]; memset(ans,0,sizeof(ans)); memset(position,0,sizeof(position)); for(int i=1; i<=5; i++) { scanf("%d%d%d%d%d",&D,&B1,&B2,&B3,&B4); int B[5]; B[1]=B1,B[2]=B2,B[3]=B3,B[4]=B4; if(i==1) { if(D==4) { ans[i]=B[4]; position[i]=4; } if(D==3) { ans[i]=B[3]; position[i]=3; } if(D==2) { ans[i]=B[2]; position[i]=2; } if(D==1) { ans[i]=B[2]; position[i]=2; } } else if(i==2) { if(D==1) { ans[i]=4; int temp; for(int j=1;j<=4;j++) { if(B[j]==4) { temp=j; break; } } position[i]=temp; } if(D==2) { position[i]=position[1]; ans[i]=B[position[i]]; } if(D==3) { position[i]=1; ans[i]=B[1]; } if(D==4) { //ans[i]=B[1]; position[i]=position[1]; ans[i]=B[position[i]]; } } else if(i==3) { //printf("****"); if(D==1) { ans[i]=ans[2]; int temp; for(int j=1;j<=4;j++) { if(B[j]==ans[i]) { temp=j; break; } } position[i]=temp; } if(D==2) { ans[i]=ans[1]; int temp; for(int j=1;j<=4;j++) { if(B[j]==ans[i]) { temp=j; break; } } position[i]=temp; } if(D==3) { position[i]=3; ans[i]=B[3]; } if(D==4) { //printf("****"); ans[i]=4; int temp; for(int j=1;j<=4;j++) { if(B[j]==4) { temp=j; break; } } position[i]=temp; } } else if(i==4) { if(D==1) { position[i]=position[1]; ans[i]=B[position[i]]; } if(D==2) { position[i]=1; ans[i]=B[1]; } if(D==3) { position[i]=position[2]; ans[i]=B[position[i]]; } if(D==4) { position[i]=position[2]; ans[i]=B[position[i]]; } } else if(i==5) { if(D==1) { ans[i]=ans[1]; int temp; for(int j=1;j<=4;j++) { if(B[j]==ans[i]) { temp=j; break; } } position[i]=temp; } if(D==2) { ans[i]=ans[2]; int temp; for(int j=1;j<=4;j++) { if(B[j]==ans[i]) { temp=j; break; } } position[i]=temp; } if(D==3) { ans[i]=ans[4]; int temp; for(int j=1;j<=4;j++) { if(B[j]==ans[i]) { temp=j; break; } } position[i]=temp; } if(D==4) { ans[i]=ans[3]; int temp; for(int j=1;j<=4;j++) { if(B[j]==ans[i]) { temp=j; break; } } position[i]=temp; } } printf("%d %d\n",position[i],ans[i]); } } }