CF 3C Tic-tac-toe
来源:互联网 发布:软件营销策划方案 编辑:程序博客网 时间:2024/06/10 16:16
此题只要考虑全面就可以额
愁死了
#include <iostream>#include <cstring>#include <cstdio>using namespace std;char data[5][5];int _win[2][10];// 行123 列123 \/int judgement(char c){ int judge = 0; for(int i = 0; i < 3; i ++) { int flag = 1; for(int j = 0; j < 3; j ++) { if(data[i][j] != c) flag = 0; } if(flag) { judge = 1; if(c == 'X') _win[0][i] = 1; if(c == '0') _win[1][i] = 1; } } for(int i = 0; i < 3; i ++) { int flag = 1; for(int j = 0; j < 3; j ++) { if(data[j][i] != c) flag = 0; } if(flag) { judge = 1; if(c == 'X') _win[0][3+i] = 1; if(c == '0') _win[1][3+i] = 1; } } if(data[0][0] == data[1][1] && data[1][1] == data[2][2] && data[0][0] == c)//\/ { judge = 1; if(c == 'X') _win[0][6] = 1; if(c == '0') _win[1][6] = 1; } if(data[0][2] == data[1][1] && data[1][1] == data[2][0] && data[0][2] == c)// / { judge = 1; if(c == 'X') _win[0][7] = 1; if(c == '0') _win[1][7] = 1; } return judge;}int main(){ while(cin>>data[0]>>data[1]>>data[2]) { memset(_win,0,sizeof(_win)); int sum1 = 0,sum2 = 0; for(int i = 0; i < 3; i ++) { for(int j = 0; j < 3; j ++) { if(data[i][j] == 'X') sum1 ++; if(data[i][j] == '0') sum2 ++; } } int flag1 = 0,flag2 = 0; flag1 = judgement('X'); flag2 = judgement('0'); if(flag1 && flag2) { cout<<"illegal"<<endl; continue; } else if(!(sum1==sum2)&&!(sum1-sum2 == 1)) { cout<<"illegal"<<endl; continue ; } else if(!flag1 &&!flag2) { if(sum1 == 5 && sum2 == 4) cout<<"draw"<<endl; else if(sum1-sum2 ==1) cout<<"second"<<endl; else if(sum1 == sum2) cout<<"first"<<endl; continue; } else if(flag1 &&!flag2) { int flag = 0; for(int i = 0; i < 3; i ++) { for(int j = 3; j < 6; j ++) { if(_win[0][j] == _win[0][i] &&_win[0][i] == 1) flag = 1; } if(flag) break; } if(_win[0][6] == _win[0][7] &&_win[0][6]==1) flag = 1; if(flag) { cout<<"the first player won"<<endl; continue; } if(sum1 - sum2 == 1) { cout<<"the first player won"<<endl; continue ; } else { cout<<"illegal"<<endl; continue ; } } else if(!flag1 &&flag2) { if(sum2 == sum1) { cout<<"the second player won"<<endl; continue ; } else { cout<<"illegal"<<endl; continue ; } } } return 0;}
0 0
- CF 3C Tic-tac-toe
- CF 3C Tic-tac-toe
- cf 3C Tic-tac-toe(模拟)
- [cf]Tic-tac-toe
- CF 3C Tic-tac-toe 井字棋 简洁代码
- C - Tic-tac-toe
- codeforces 3C. Tic-tac-toe
- codeforces 3C Tic-tac-toe
- Codeforces 3C. Tic-tac-toe
- Codeforces 3 C. Tic-tac-toe
- CodeForces 3C-Tic-tac-toe
- Codeforces 3C Tic-tac-toe
- C. Tic-tac-toe【模拟】
- [Codeforces]C. Tic-tac-toe
- Codeforces Beta Round #3C. Tic-tac-toe
- Codeforces Beta Round #3 C. Tic-tac-toe
- codeforces 3C Tic-tac-toe (想法题)
- CodeForces 3C Tic-tac-toe 井字棋盘游戏
- 将复杂的大任务拆分成多个简单的小任务进行计算
- GRE写作必备句型
- IE关闭浏览器当前标签页
- select 1 from table
- Number of Digit One
- CF 3C Tic-tac-toe
- Jquery autocomplete 异步加载下拉数据
- Thrift异步IO服务器源码分析
- House Robber
- android 多媒体数据库详解
- .NET三层架构解析之Model四种设计方式
- MyEclipse8.5破解方法
- java使double保留两位小数的多方法 java保留两位小数
- ExtJs使用总结(非常详细)