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. 压缩人工智能的数据值
  2. 【实用】Angular中如何实现类似Vuex的全局变量状态变化功能?
  3. 校内网--自动分享视频-flash xss蠕虫分析
  4. mysql istransient_由于 MySQL 版本问题导入报错
  5. linux mysql安装 读写分离_linux下安装mysql-proxy 配置读写分离
  6. iOS开发的学习笔记
  7. es6 --- Reflect的静态方法
  8. C语言 __FUNCTION__ - C语言零基础入门教程
  9. TensorFlow 教程 --进阶指南--3.9TensorBoard: 图表可视化
  10. 废话少说 分析java抽象类与接口的区别
  11. Bosh vs Comet vs Long Polling vs Polling
  12. matplotlib无法显示图片的解决方法(non-gui backend)
  13. FOC电机控制之SVPWM原理与实现
  14. 计算机端口25,在Windows 下关闭21\23\25端口的方法 -电脑资料
  15. CSS 边框 border属性
  16. 包含WebRoot的Web工程在Eclipse中的搭建和配置
  17. win7蓝牙怎么连接_小米智能手环怎么连接手机蓝牙
  18. 2014中秋节,用java为QQ游戏美女找茬写辅助
  19. IDEA与VsCode两种开发工具的比较
  20. Android面试题之动画+事件处理篇,安卓消息分发机制

热门文章

  1. 获取List对象的泛型类(原创)
  2. 基于分数阶的图像边缘细节检测
  3. [Yii2] 前台用户与后台用户分离
  4. 我发现我对人类活动的认识开始有一点点变化了
  5. SQL Server数据库表锁定原理以及如何解除表的锁定
  6. C#多线程学习(三) 生产者和消费者 (转载系列)——继续搜索引擎研究
  7. Ubuntu中恢复rm命令误删文件
  8. 【Oracle】数据库范式
  9. PlSqlDev中执行INSERT SQL语句包含符号导致数据异常
  10. .netFramework 升级NetCore 问题汇总及解决方案