L - Tic-Tac-Toe FZU - 2283 (思维)
题目链接:
L - Tic-Tac-Toe
题目大意:两个人下棋,一共是三步棋,第一个人下一步,第二个人下一步,第三个人下一步,然后问你在两个人在都足够聪明的条件下,第一个人能否获胜?(获胜的前提,其中一个人的三个棋子连成了一条线)。
参考博客:
Tic-Tac-Toe FZU - 2283 (暴力) - CSDN博客
具体思路:首先必胜态一共有两种情况,一行一共有三个,存在一行有两个是第一个人的棋子,另外一个是空格,这种情况下第一个人必胜。
第二个情况,存在相交的两行,这两行都满足有一个是第一个人的棋子,剩余的两个为空格,这样也是满足的。
AC代码:
#include<iostream>
#include<string>
#include<stdio.h>
using namespace std;
# define ll long long
# define inf 0x3f3f3f3f
const int maxn =2e5+;
char a[][];
char u;
bool judge(int x,int y)
{
int flag1=,flag2=;
int t1=, t2=;
for(int i=; i<=; i++)
{
if(a[x][i]=='.')
t1++;
if(a[x][i]==u)
t2++;
}
if(t1==&&t2==)
flag1++;
if(t1==&&t2==)
flag2++;
t1=,t2=;
for(int i=; i<=; i++)
{
if(a[i][y]=='.')
t1++;
if(a[i][y]==u)
t2++;
}
if(t1==&&t2==)
flag1++;
if(t1==&&t2==)
flag2++;
if(x==y)
{
t1=,t2=;
for(int i=; i<=; i++)
{
if(a[i][i]=='.')
t1++;
if(a[i][i]==u)
t2++;
}
if(t1==&&t2==)
flag1++;
if(t1==&&t2==)
flag2++;
}
if(x+y==)
{
t1=,t2=;
for(int i=; i<=; i++)
{
if(a[i][+-i]=='.')
t1++;
if(a[i][-i]==u)
t2++;
}
if(t1==&&t2==)
flag1++;
if(t1==&&t2==)
flag2++;
}
return flag1>=|| flag2>=;
}
int main()
{
int T;
scanf("%d",&T);
while(T--)
{
for(int i=; i<=; i++)
{
for(int j=; j<=; j++)
{
scanf(" %c",&a[i][j]);
}
}
int flag=;
scanf(" %c",&u);
for(int i=; i<=; i++)
{
for(int j=; j<=; j++)
{
if(judge(i,j))
{
flag=;
break;
}
}
if(flag)
break;
}
if(flag)
printf("Kim win!\n");
else
printf("Cannot win!\n");
}
return ;
}
L - Tic-Tac-Toe FZU - 2283 (思维)的更多相关文章
- Principle of Computing (Python)学习笔记(7) DFS Search + Tic Tac Toe use MiniMax Stratedy
1. Trees Tree is a recursive structure. 1.1 math nodes https://class.coursera.org/principlescomputin ...
- POJ 2361 Tic Tac Toe
题目:给定一个3*3的矩阵,是一个井字过三关游戏.开始为X先走,问你这个是不是一个合法的游戏.也就是,现在这种情况,能不能出现.如果有人赢了,那应该立即停止.那么可以知道X的步数和O的步数应该满足x= ...
- 【leetcode】1275. Find Winner on a Tic Tac Toe Game
题目如下: Tic-tac-toe is played by two players A and B on a 3 x 3 grid. Here are the rules of Tic-Tac-To ...
- 2019 GDUT Rating Contest III : Problem C. Team Tic Tac Toe
题面: C. Team Tic Tac Toe Input file: standard input Output file: standard output Time limit: 1 second M ...
- [CareerCup] 17.2 Tic Tac Toe 井字棋游戏
17.2 Design an algorithm to figure out if someone has won a game oftic-tac-toe. 这道题让我们判断玩家是否能赢井字棋游戏, ...
- Epic - Tic Tac Toe
N*N matrix is given with input red or black.You can move horizontally, vertically or diagonally. If ...
- python 井字棋(Tic Tac Toe)
说明 用python实现了井字棋,整个框架是本人自己构思的,自认为比较满意.另外,90%+的代码也是本人逐字逐句敲的. minimax算法还没完全理解,所以参考了这里的代码,并作了修改. 特点 可以选 ...
- ACM-Team Tic Tac Toe
我的代码: #include <bits/stdc++.h> using namespace std; int main() { char a[3][3]; int i,j=0; for( ...
- LeetCode 5275. 找出井字棋的获胜者 Find Winner on a Tic Tac Toe Game
地址 https://www.acwing.com/solution/LeetCode/content/6670/ 题目描述A 和 B 在一个 3 x 3 的网格上玩井字棋. 井字棋游戏的规则如下: ...
随机推荐
- plink提取指定样本的数据(keep函数)
提取样本见命令行: plink --bfile file --noweb --keep sampleID.txt --recode --make-bed --out sample 其中,sampleI ...
- python zip()函数的使用
解释: 后缀为zip的文件肯定都见过吧?zip是打包压缩好的一个文件,所以,zip()函数也简单的理解为打包压缩函数,将不同个数相同类型的字段结合在一起. 官方定义为:zip() 函数用于将可迭代的对 ...
- Idea2017.3.5+SpringBoot--热部署
首先建立工程的时候要选择DevTools: 然后File----Settings 然后 点击OK,然后Ctrl+Alt+Shift+/ 当当当当!!出来下面这个,点击Registry 找到这一项,勾选 ...
- (字符串 枚举)The Hardest Problem Ever hdu1048
The Hardest Problem Ever 链接:http://acm.hdu.edu.cn/showproblem.php?pid=1048 Time Limit: 2000/1000 MS ...
- linux driver ------ platform模型,驱动开发分析
一.platform总线.设备与驱动 在Linux 2.6 的设备驱动模型中,关心总线.设备和驱动3个实体,总线将设备和驱动绑定.在系统每注册一个设备的时候,会寻找与之匹配的驱动:相反的,在系统每注册 ...
- Grunt安装与环境配置
公司项目还没有前后端分离,而前端是使用node.js搭建起来的,现在需要自己动手开发,故学习下并做为记录防止以后忘记. grunt依赖node.js,所以在安装之前确保你安装了 Node.js.然后开 ...
- 剑指Offer_编程题_1
题目描述 在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序.请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数. class Sol ...
- Helm简介及安装
前提条件 一个kubernetes集群 安装和配置集群端服务Helm和Tiller 确定要应用于安装的安全配置(如果有) 1.安装HELM 每一个版本HELM提供多种操作系统的二进制版本.可以手动下载 ...
- 获取spring上下文的bean 工具类
有些场景我们不属于controller,service,dao,但是我们需要从spring中得到spring容器里面的bean.这时候我们需要一个类继承 ApplicationContextAware ...
- linux查看IP
1:输入 ifconfig,出现如下信息,找到eno16777736(网卡ip信息的配置文件名) 2:输入 cd /etc/sysconfig/network-scripts 找到网卡ip信息的配置文 ...