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-(暴力模拟)的更多相关文章

  1. 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 ...

  2. 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 ...

  3. POJ 2361 Tic Tac Toe

    题目:给定一个3*3的矩阵,是一个井字过三关游戏.开始为X先走,问你这个是不是一个合法的游戏.也就是,现在这种情况,能不能出现.如果有人赢了,那应该立即停止.那么可以知道X的步数和O的步数应该满足x= ...

  4. 【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 ...

  5. LeetCode 5275. 找出井字棋的获胜者 Find Winner on a Tic Tac Toe Game

    地址 https://www.acwing.com/solution/LeetCode/content/6670/ 题目描述A 和 B 在一个 3 x 3 的网格上玩井字棋. 井字棋游戏的规则如下: ...

  6. [CareerCup] 17.2 Tic Tac Toe 井字棋游戏

    17.2 Design an algorithm to figure out if someone has won a game oftic-tac-toe. 这道题让我们判断玩家是否能赢井字棋游戏, ...

  7. Epic - Tic Tac Toe

    N*N matrix is given with input red or black.You can move horizontally, vertically or diagonally. If ...

  8. python 井字棋(Tic Tac Toe)

    说明 用python实现了井字棋,整个框架是本人自己构思的,自认为比较满意.另外,90%+的代码也是本人逐字逐句敲的. minimax算法还没完全理解,所以参考了这里的代码,并作了修改. 特点 可以选 ...

  9. ACM-Team Tic Tac Toe

    我的代码: #include <bits/stdc++.h> using namespace std; int main() { char a[3][3]; int i,j=0; for( ...

  10. bnuoj 20832 Calculating Yuan Fen(暴力模拟)

    http://www.bnuoj.com/bnuoj/problem_show.php?pid=20832 [题意]: 给你一串字符串,求一个ST(0<ST<=10000),对字符串中字符 ...

随机推荐

  1. 【转帖】nmap命令总结

    nmap命令总结 https://www.cnblogs.com/chenqionghe/p/10657722.html 一.nmap是什么 nmap是一款网络扫描和主机检测的非常有用的工具,不局限于 ...

  2. Scala 函数式编程

    将函数赋值给变量 // Scala中的函数是一等公民,可以独立定义,独立存在,而且可以直接将函数作为值赋值给变量 // Scala的语法规定,将函数赋值给变量时,必须在函数后面加上空格和下划线 def ...

  3. 百度前端技术学院-task1.3源代码

    因为其中有图片,所以就给有图片的位置加了边框和设置了大小,这样哪怕图片不显示也可以知道在哪里. <!DOCTYPE html> <html> <head> < ...

  4. Java的常用API之Object类简介

    Object类 1.toString方法在我们直接使用输出语句输出对象的时候,其实通过该对象调用了其toString()方法. 2.equals方法方法摘要:类默认继承了Object类,所以可以使用O ...

  5. 服务发现对比:Zookeeper vs etcd vs Consul

    我们拥有的服务越多,如果我们使用预定义的端口,就会发生冲突的可能性越大.毕竟,在同一端口上不能监听两个服务.管理一百个服务所使用的所有端口的紧密列表本身就是一项挑战.将那些服务所需的数据库添加到该列表 ...

  6. zynq开发板外设配置演示

    有幸得到米尔电子zynq系列开发板Z-turn Board试用体验,下面说说我这款zynq系列的Z-TURN板子外设配置.从Z-turn Board原理图上看,目前可以配置的FPGA管脚大概有100多 ...

  7. 5.1 dex文件解析

    1.DexHeader结构体占用0x70字节,源码位置 dalvik\libdex\DexFile.h文件中269/* 270 * Direct-mapped "header_item&qu ...

  8. Spark排序方式集锦

    一.简介 spark中的排序一般可以使用orderBy或sort算子,可以结合负号.ASC/DESC和col进行简单排序.二次排序等情况 二.代码实现 package big.data.analyse ...

  9. Maven基础。

    ---恢复内容开始--- Maven: 1.概念. * maven 是一个项目管理工具. * maven的作用. 1.jar包.依赖管理.将jar包放在jar包仓库(pom.xml),不需要每个项目都 ...

  10. JavaScript基础内容中的函数详解

    函数 函数:即方法 函数就是一段预先设置的功能代码块,可以反复调用,根据输入参数的不同,返回不同的值. 为什么使用函数: 1.方便调用 2.代码重用,利于维护 3.便于修改,便于重构 4.简化逻辑,利 ...