P1838 三子棋I

题目描述

小a和uim喜欢互相切磋三子棋。三子棋大家都玩过是吗?就是在九宫格里面OOXX(别想歪了),谁连成3个就赢了。

由于小a比较愚蠢,uim总是让他先。

我们用9个数字表示棋盘位置:

123 456 789 所有的棋谱都是已经结束的棋局,要么一方获胜,要么平局。

今天,他们下了一下午的棋,小a为了提高技术,录下了很多棋谱。他想知道,一盘棋结束时,到底是谁赢。

输入格式

一行,一串数字,表示落子的地点。小a总是先下

输出格式

一行,如果小a赢,输出“xiaoa wins.”。如果uim赢,输出“uim wins.”。如果平局,输出“drew.”

输入输出样例

输入 #1复制

5237649

输出 #1复制

xiaoa wins.

输入 #2复制

539128647

输出 #2复制

drew.
#include<bits/stdc++.h>
using namespace std;
string s;
int a[3][3];
int main()
{cin>>s;for(int i=0;i<s.size();i++){int j=s[i]-'0'-1;a[j/3][j%3]=i%2;}if(9==s.size()){int j=s[8]-'0'-1;int row=j/3,col=j%3;if(0==a[row][0]&&0==a[row][1]&&0==a[row][2]) cout<<"xiaoa wins."<<endl;else if(0==a[0][col]&&0==a[1][col]&&0==a[2][col]) cout<<"xiaoa wins."<<endl;else if(0==a[0][0]&&0==a[1][1]&&0==a[2][2]) cout<<"xiaoa wins."<<endl;else if(0==a[0][2]&&0==a[1][1]&&0==a[2][0]) cout<<"xiaoa wins."<<endl;else cout<<"drew."<<endl;}else if(1==s.size()%2) cout<<"xiaoa wins."<<endl;else cout<<"uim wins."<<endl;return 0;}

洛谷——P1838 三子棋I相关推荐

  1. 洛谷——P1917 三子棋II

    P1917 三子棋II 题目描述 小a和uim喜欢互相切磋三子棋.三子棋大家都玩过是吗?就是在九宫格里面OOXX(别想歪了),谁连成3个就赢了. 虽然小a很努力地记录棋谱,可还是下不过uim. 由于小 ...

  2. P1838 三子棋I

    P1838 三子棋I 提交18.40k 通过6.45k 时间限制1.00s 内存限制125.00MB 提交答案加入题单复制题目 做题计划(首页) 个人题单 团队题单 保存 选择团队 保存 题目提供者k ...

  3. 三子棋の胜负判断(洛谷P1838题题解,Java语言描述)

    题目要求 P1838题目链接 分析 我在想是不是要把这个题再写成扫雷那样的矩阵判断,想换个feel,那就用Set来处理. 众所周知Set有好处,查找快,虽说这只是九宫格三子棋,但contains()就 ...

  4. 洛谷 P1985 翻转棋

    P1985 翻转棋 题目描述 农夫约翰知道,聪明的奶牛可以产更多的牛奶.他为奶牛设计了一种智力游戏,名叫翻转棋. 翻转棋可以分成 M × N 个格子,每个格子有两种颜色,一面是黑的,一面是白的. 一旦 ...

  5. 洛谷 1541 乌龟棋

    看题 这显然是一道线性的dp 如何设计状态呢? 看看题目,总共只有4张牌,而且每张牌的个数不超过40 于是状态就很好设计了 方程如下 dp[i][j][k][l]=max(dp[i-1][j][k][ ...

  6. 洛谷P1541 乌龟棋

    原题传送门 一道比较简单易懂的线性DP题: 设状态dp[a][b][c][d]表示使用数量分别为a, b, c, d张的不同的牌 num数组存储每一个位置的分值 r = a + b * 2 + c * ...

  7. 洛谷 1541 乌龟棋——dp

    题目:https://www.luogu.org/problemnew/show/P1541 以用了几张牌为阶段.注意知道了用了4种牌各几张后,当前位置就是确定的,所以不用记录什么的. #includ ...

  8. 洛谷 深基 第4部分 基础数学与数论(19-21课)

    洛谷 深基 第4部分 基础数学与数论  第19章 位运算与进制转换 P1143 进制转换 https://www.luogu.com.cn/problem/P1143 洛谷P1143 进制转换的Pyt ...

  9. 【洛谷】【博弈搜索】P4363 [九省联考2018]一双木棋chess

    洛谷 P4363 [九省联考2018]一双木棋chess 题目大意 ◇题目传送门◆ 分析 根据题目所给定的规则,可以发现对于每一行,其下面一行上放的棋子数目不可能多于上面的一行. 所以我们可以将每行上 ...

最新文章

  1. sql 外连接的写法。
  2. 按单词逆序句子(含标点)
  3. custom field further usage - add into UI and report
  4. BZOJ 2003 [Hnoi2010]Matrix 矩阵
  5. python是值传递还是引用传递_Python里参数是值传递还是引用传递?
  6. 错误:The project was not built due to Unparsed aapt error(s)
  7. Linux系统基础(二)
  8. Windows Print Spooler 远程代码执行漏洞(CVE-2021-34527)
  9. SQL Server数据库迁移最佳实践,可降低风险和停机时间
  10. python源代码(create,huafen,doc)
  11. 柯尼卡美能达c353改语言,柯尼卡美能达bizhub c353c253c203维修手册中文部分2.pdf
  12. 快递电子面单打印接口对接demo-JAVA
  13. 【JAVA基础速过】第3章 数组+Arrays工具类的使用
  14. 使用gevent的Pool实现异步并发
  15. ACE编辑器ace-editor笔记
  16. java读取共享文件夹
  17. PDF怎么用免费软件转换成word?推荐个高性价比转换方法
  18. 强连通基础与例题(Kosaraju算法与Tarjan算法)
  19. ubuntu14.04 64位安装H3C iNode客户端
  20. mac 下Protege中使用OWL Viz插件

热门文章

  1. 七天LLVM零基础入门(Linux版本)------总结
  2. 转贴:23种设计模式的有趣见解
  3. Nginx 实现封杀恶意访问
  4. dell R710 更换raid卡后,raid卡信息没有了,处理方案
  5. no active checks on server [192.168.1.107:10051]: host [ ] not found
  6. 【Shell】获取文件名和扩展名
  7. 【Oracle】RedHat 6.5 安装 11g数据库
  8. sqlserver数据导入hdfs和hive的解决方案
  9. 集群环境下定时调度的解决方案之Quartz集群
  10. Web方式预览Office/Word/Excel/pdf文件解决方案