求助 80分

P1917 三子棋II

@[老y万人敬仰。](/space/show?uid=90593) 你前面ij是从0开始的。。
by Accepted_233 @ 2018-08-05 10:04:00


#include<bits/stdc++.h> using namespace std; char a[100][100]; int sum,f,k=0,p,u; string b1,b2,b3; int main() { cin>>b1>>b2>>b3; for(int i=0;i<3;i++) { a[1][i+1]=b1[i]; if(a[1][i+1]!='-') sum++; } for(int i=0;i<3;i++) { a[2][i+1]=b2[i];if(a[2][i+1]!='-') sum++; } for(int i=0;i<3;i++) { a[3][i+1]=b3[i];if(a[3][i+1]!='-') sum++; } if(sum==1) { cout<<"Dont know."<<endl; cout<<sum; } for(int i=1;i<=3;i++) { for(int j=1;j<=3;j++) { if(a[i][j]=='X') { f=i*10+j; i=3; break; } } } if(sum==2) { if(f==12 || f==21 || f==23 || f==32) { cout<<"xiaoa will win."<<endl; cout<<sum; k=1; } if(k==0) { cout<<"Dont know."<<endl; cout<<sum; } } k=0; if(sum==3) { for(int i=1;i<=3;i++) { for(int j=1;j<=3;j++) { p=0; if(i==2 && j==2) p=1; if(a[i][j]=='O' && p==0) { u=i*10+j; i=3; break; } } } k=0; if((f==12 && u==11)|| (f==12 && u==13)) k=1; if((f==21 && u==12)|| (f==21 && u==31)) k=1; if((f==23 && u==13)|| (f==23 && u==33)) k=1; if((f==32 && u==33)|| (f==32 && u==33)) k=1; if(k==1) { cout<<"xiaoa will win."<<endl; cout<<sum<<endl; } if(k==0) { cout<<"Dont know."<<endl; cout<<sum<<endl; } } return 0; }
by Shui_Dream @ 2018-08-26 19:35:04


```cpp #include<bits/stdc++.h> using namespace std; char a[100][100]; int sum,f,k=0,p,u; string b1,b2,b3; int main() { cin>>b1>>b2>>b3; for(int i=0;i<3;i++) { a[1][i+1]=b1[i]; if(a[1][i+1]!='-') sum++; } for(int i=0;i<3;i++) { a[2][i+1]=b2[i];if(a[2][i+1]!='-') sum++; } for(int i=0;i<3;i++) { a[3][i+1]=b3[i];if(a[3][i+1]!='-') sum++; } if(sum==1) { cout<<"Dont know."<<endl; cout<<sum; } for(int i=1;i<=3;i++) { for(int j=1;j<=3;j++) { if(a[i][j]=='X') { f=i*10+j; i=3; break; } } } if(sum==2) { if(f==12 || f==21 || f==23 || f==32) { cout<<"xiaoa will win."<<endl; cout<<sum; k=1; } if(k==0) { cout<<"Dont know."<<endl; cout<<sum; } } k=0; if(sum==3) { for(int i=1;i<=3;i++) { for(int j=1;j<=3;j++) { p=0; if(i==2 && j==2) p=1; if(a[i][j]=='O' && p==0) { u=i*10+j; i=3; break; } } } k=0; if((f==12 && u==11)|| (f==12 && u==13)) k=1; if((f==21 && u==12)|| (f==21 && u==31)) k=1; if((f==23 && u==13)|| (f==23 && u==33)) k=1; if((f==32 && u==33)|| (f==32 && u==33)) k=1; if(k==1) { cout<<"xiaoa will win."<<endl; cout<<sum<<endl; } if(k==0) { cout<<"Dont know."<<endl; cout<<sum<<endl; } } return 0; } ```
by Shui_Dream @ 2018-08-26 19:35:20


```cpp #include <bits/stdc++.h> using namespace std; char a[3][3]; int o,x; int main(){ for(int i=0;i<3;i++) for(int j=0;j<3;j++){ cin>>a[i][j]; if(a[i][j]=='O')o+=1; if(a[i][j]=='X')x+=1; } if(x+o==1||x+o==0) cout<<"Dont know."<<endl<<x+o; if(x+o==2) for(int i=0;i<3;i++) for(int j=0;j<3;j++) if(a[i][j]=='X'){ if(i==1||j==1)cout<<"xiaoa will win."; else cout<<"Dont know."; cout<<endl<<x+o; return 0; } if(x+o==3) for(int i=0;i<3;i++) for(int j=0;j<3;j++) if(a[i][j]=='X'){ if(((((i==0&&j==1)&&(a[2][1]=='O'))||(((i==1&&j==0)&&(a[1][2]=='O'))))||((((i==1&&j==2)&&(a[1][0]=='O')))||(((i==2&&j==1)&&(a[0][1]=='O')))))||(i!=1&&j!=1)) cout<<"Dont know."; else cout<<"xiaoa will win."; cout<<endl<<x+o; return 0; } return 0; } ```
by Cheney @ 2019-07-27 20:54:39


|