Tic-Tac-Toe-(暴力模拟)
https://ac.nowcoder.com/acm/contest/847/B
#include<algorithm>
#include<cstring>
#include<iostream>
#include<math.h>
#include<string>
#include<stdio.h>
#include<map>
#include<queue>
#define ll long long
#define inf 0x3f3f3f3f
using namespace std; char a[][];
int t; bool check()
{
int num1=,num2=;///白子数,空位数
for(int i=;i<;i++)///横的
{
num1=;num2=;
for(int j=;j<;j++)
{
if( a[i][j]=='W' )
num1++;
else if( a[i][j]=='#' )
num2++;
else
break;
}
if(num1== && num2==)
return true;
} for(int j=;j<;j++)///竖的
{
num1=num2=;
for(int i=;i<;i++)
{
if( a[i][j]=='W' )
num1++;
else if( a[i][j]=='#' )
num2++;
else
break;
}
if(num1== && num2==)
return true;
}
num1=num2=;
for(int i=;i<;i++)///左上到左下
{
if( a[i][i]=='W' )
num1++;
else if( a[i][i]=='#' )
num2++;
else
break;
}
if(num1== && num2==)
return true;
num1=num2=;
for(int i=;i<;i++)///左下到右上
{
if(i==)
{
if( a[][]=='W' )
num1++;
else if( a[][]=='#' )
num2++;
else if( a[][]=='B')
break;
}
if(i==)
{
if( a[][]=='W' )
num1++;
else if( a[][]=='#' )
num2++;
else if( a[][]=='B')
break;
}
if(i==)
{
if( a[][]=='W' )
num1++;
else if( a[][]=='#' )
num2++;
else if( a[][]=='B')
break;
}
}
if(num1== && num2==)
return true;
return false;
} int main()
{
scanf("%d",&t);
while(t--)
{
int flag;
flag=;
for(int i=;i<;i++)
scanf("%s",a[i]);
if(check())///正常情况下一步能赢
{
for(int i=;i<&&flag==;i++)
{
for(int j=;j<&&flag==;j++)
{
if( a[i][j]=='W' )
{
a[i][j]='#';
if(!check())
flag=;///存在某种情况被拿了之后不能赢
a[i][j]='W';
}
}
}
if(flag==)
printf("Alice\n");
else
printf("Emmm\n");
}
else
{
printf("Bob\n");
}
}
return ;
}
Tic-Tac-Toe-(暴力模拟)的更多相关文章
- 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 ...
- 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 ...
- LeetCode 5275. 找出井字棋的获胜者 Find Winner on a Tic Tac Toe Game
地址 https://www.acwing.com/solution/LeetCode/content/6670/ 题目描述A 和 B 在一个 3 x 3 的网格上玩井字棋. 井字棋游戏的规则如下: ...
- [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( ...
- bnuoj 20832 Calculating Yuan Fen(暴力模拟)
http://www.bnuoj.com/bnuoj/problem_show.php?pid=20832 [题意]: 给你一串字符串,求一个ST(0<ST<=10000),对字符串中字符 ...
随机推荐
- [转帖]如何获得一个RAC Oracle数据库(从Github - oracle/docker-images) - 本地版 ---暂时未做实验.
如何获得一个RAC Oracle数据库(从Github - oracle/docker-images) - 本地版 2019-11-09 16:35:30 dingdingfish 阅读数 32更多 ...
- [转帖]k8s 基本使用(上)
k8s 基本使用(上) https://www.jianshu.com/p/8d60ce1587e1 本文将介绍 k8s 中的一些最基本的命令,并辅以解释一些基本概念来方便理解,也就是说,本文是一篇偏 ...
- Effective.Java第67-77条(异常相关)
67. 明智审慎地进行优化 有三条优化的格言是每个人都应该知道的: (1)比起其他任何单一的原因(包括盲目的愚钝),很多计算上的过失都被归咎于效率(不一定能实现) (2)不要去计算效率上的一些小小的 ...
- Java基础知识点总结(一)
1.源文件声明规则2.JAVA基本类型void3.数据类型默认值4.自动类型转换5.Java变量类型6.Java局部变量7.访问控制修饰符8.父类与子类的访问控制9.instanceof运算符 1.源 ...
- Delphi重庆医保支付【支持重庆东软,万达,银海医保通用】
作者QQ:(648437169) 点击下载➨Delphi重庆医保支付 东软接口文件 银海接口文件 万达接口文件 重庆市医保接口文档 [Delp ...
- SQL中GROUP BY用法示例
概述 GROUP BY我们可以先从字面上来理解,GROUP表示分组,BY后面写字段名,就表示根据哪个字段进行分组,如果有用Excel比较多的话,GROUP BY比较类似Excel里面的透视表. GRO ...
- MTSC 2019 深圳站精彩议题第一波更新! | 七五折门票火热售票中
MTSC(中国移动互联网测试开发大会)到今年已经成功举办了五届,这四年里,TesterHome社区一直秉持着务实.能落地.有深度.高质量.重分享的原则,从讲师邀请到内容筛选都严格把控,只为将最能提 ...
- Python 栈、队列的实现
在python中,列表既可以作为栈使用,又可以作为队列使用. 把列表作为栈使用 栈:后进先出 stack=[1,2,3] stack.append(4) #入栈,以列表尾部为栈顶 print(stac ...
- 3.kettle-定时执行任务
kettle定时任务可以 用两种方法. 第一种如下,但这种缺点也很明显,就是该job窗口不能关闭.(重复时间含义问题截图来自https://www.cnblogs.com/biehongli/p/10 ...
- main process exited, code=exited, status=203/EXEC
问题描述: Oct :: c_3. systemd[]: Started etcd. Oct :: c_3. systemd[]: Starting etcd... Oct :: c_3. syste ...