7-2 刮刮彩票 (20 分)
题面:
代码
不难,除了打得手有点累,没有任何缺点。
#include<stdio.h>
#include<iostream>
#include <algorithm>
#include <cmath>
using namespace std;
int a[5][5];
bool vis[5];
int main(){
int tmp,x,y;
for(int i=1;i<=3;i++){
for(int j=1;j<=3;j++){
cin>>a[i][j];
vis[a[i][j]]=1;
if(a[i][j]==0){
x=i;
y=j;
}
}
}
for(tmp=0;vis[tmp];tmp++);
int b,c;
for(int i=0;i<3;i++){
cin>>b>>c;
cout<<a[b][c]<<endl;
}
a[x][y]=tmp;
int sn1,sn2;
cin>>sn1;
switch(sn1){
case 1:sn2=a[1][1]+a[1][2]+a[1][3];break;
case 2:sn2=a[2][1]+a[2][2]+a[2][3];break;
case 3:sn2=a[3][1]+a[3][2]+a[3][3];break;
case 4:sn2=a[1][1]+a[2][1]+a[3][1];break;
case 5:sn2=a[1][2]+a[2][2]+a[3][2];break;
case 6:sn2=a[1][3]+a[2][3]+a[3][3];break;
case 7:sn2=a[1][1]+a[2][2]+a[3][3];break;
case 8:sn2=a[1][3]+a[2][2]+a[3][1];break;
}
int ans;
switch(sn2){
case 6:ans=10000;break;
case 7:ans=36;break;
case 8:ans=720;break;
case 9:ans=360;break;
case 10:ans=80;break;
case 11:ans=252;break;
case 12:ans=108;break;
case 13:ans=72;break;
case 14:ans=54;break;
case 15:ans=180;break;
case 16:ans=72;break;
case 17:ans=180;break;
case 18:ans=119;break;
case 19:ans=36;break;
case 20:ans=306;break;
case 21:ans=1080;break;
case 22:ans=144;break;
case 23:ans=1800;break;
case 24:ans=3600;break;
}
cout<<ans<<endl;
return 0;
}