用了好多判断语句(裂开)。。。
#include<iostream>
#include<cstdio>
using namespace std;
int main(){
int ge[5][5],gua[5][3],kai;
for(int i=1;i<4;i++){
for(int j=1;j<4;j++){
cin>>ge[i][j];
}
}
for(int i=0;i<3;i++){
for(int j=0;j<2;j++){
cin>>gua[i][j];
}
}
cin>>kai;
cout<<ge[gua[0][0]][gua[0][1]]<<endl;
cout<<ge[gua[1][0]][gua[1][1]]<<endl;
cout<<ge[gua[2][0]][gua[2][1]]<<endl;
int check[10]={
1,1,1,1,1,1,1,1,1,1};
for(int i=1;i<4;i++){
for(int j=1;j<4;j++) check[ge[i][j]]--;
}
int flag;
for(int i=0;i<10;i++){
if(check[i]==1){
flag=i;break;
}
}
int ch[4];
if(kai==1){
for(int i=1;i<4;i++) ch[i-1]=ge[1][i];
}
else if(kai==2){
for(int i=1;i<4;i++) ch[i-1]=ge[2][i];
}
else if(kai==3){
for(int i=1;i<4;i++) ch[i-1]=ge[3][i];
}
else if(kai==4){
for(int i=1;i<4;i++) ch[i-1]=ge[i][1];
}
else if(kai==5){
for(int i=1;i<4;i++) ch[i-1]=ge[i][2];
}
else if(kai==6){
for(int i=1;i<4;i++) ch[i-1]=ge[i][3];
}
else if(kai==7){
for(int i=1;i<4;i++) ch[i-1]=ge[i][i];
}
else{
for(int i=1;i<4;i++) ch[i-1]=ge[i][4-i];
}
for(int i=0;i<3;i++){
if(ch[i]==0) ch[i]=flag;
}
int sum=0;
for(int i=0;i<3;i++) sum+=ch[i];
int award[20]={
10000,36,720,360,80,252,108,72,54,180,72,180,119,36,306,1080,144,1800,3600};
cout<<award[sum-6]<<endl;
return 0;
}