题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5546

题意就是两个人下围棋,问在下一颗x是否能杀死o,'.'是空位子;

枚举所有的点,判断是否合法即可;

#include <iostream>
#include <stdio.h>
#include <string.h>
#include <string>
#include <vector>
#include <algorithm>
#include <map>
#include <queue>
#include <stack>
#include <math.h> using namespace std; #define met(a, b) memset(a, b, sizeof(a))
#define N 103
#define INF 0x3f3f3f3f typedef long long LL; int dir[][] = { {,}, {-,}, {,-}, {,} };
char s[N][N];
int vis[N][N]; int OK(int x, int y)
{
return (x< && y< && x>= && y>=);
} int check(int x, int y)
{
vis[x][y] = ;
for(int i=; i<; i++)
{
int px = x+dir[i][];
int py = y+dir[i][];
if(!OK(px, py) || vis[px][py])continue;
if(s[px][py] == '.')
return ;
if(s[px][py] == 'o' && check(px, py))
return ;
}
return ;
} int Judge(int x, int y)
{
for(int i=; i<; i++)
{
int px = x + dir[i][];
int py = y + dir[i][];
if(!OK(px, py))continue;
if(s[px][py] == 'o')
{
met(vis, );
if(!check(px, py))
return ;///不能走出去说明找到了;
}
}
return ;
} int solve()
{
for(int i=; i<; i++)
{
for(int j=; j<; j++)
{
if(s[i][j] == 'x' || s[i][j] == 'o')continue;
s[i][j] = 'x';
if(Judge(i, j))return ;
s[i][j] = '.';
}
}
return ;
} int main()
{
int T, t = ;
scanf("%d", &T);
while(T--)
{
for(int i=; i<; i++)
{
scanf("%s", s[i]);
}
int ans = solve();
if(ans) printf("Case #%d: Can kill in one move!!!\n", t++);
else printf("Case #%d: Can not kill in one move!!!\n", t++);
}
return ;
}

Ancient Go---hdu5546(dfs爆搜CCPC题目)的更多相关文章

  1. HDU 4403 A very hard Aoshu problem(dfs爆搜)

    http://acm.hdu.edu.cn/showproblem.php?pid=4403 题意: 给出一串数字,在里面添加一个等号和多个+号,使得等式成立,问有多少种不同的式子. 思路: 数据量比 ...

  2. POJ3185 The Water Bowls(反转法or dfs 爆搜)

    POJ3185 The Water Bowls 题目大意: 奶牛有20只碗摆成一排,用鼻子顶某只碗的话,包括左右两只在内的一共三只碗会反向,现在给出碗的初始状态,问至少要用鼻子顶多少次才能使所有碗都朝 ...

  3. hdu 5506 GT and set(dfs爆搜)

    Problem Description You are given N sets.The i−th set has Ai numbers.You should divide the sets into ...

  4. 【BZOJ-1060】时态同步 树形DP (DFS爆搜)

    1060: [ZJOI2007]时态同步 Time Limit: 10 Sec  Memory Limit: 162 MBSubmit: 2101  Solved: 595[Submit][Statu ...

  5. hdu 4770(枚举 + dfs爆搜)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4770 思路:由于最多只有15个".",可以直接枚举放置的位置,然后判断是否能够全部 ...

  6. 火车进栈(进出栈的模拟,dfs爆搜)

    这里有n列火车将要进站再出站,但是,每列火车只有1节,那就是车头. 这n列火车按1到n的顺序从东方左转进站,这个车站是南北方向的,它虽然无限长,只可惜是一个死胡同,而且站台只有一条股道,火车只能倒着从 ...

  7. 【csp模拟赛2】 爆搜 方格加数

    [题目描述] xyz1048576正在玩一个关于矩阵的游戏. 一个n*m的矩阵,矩阵中每个数都是[1,12]内的整数.你可以执行下列两个操作任意多次: (1)指定一行,将该行所有数字+1. (2)指定 ...

  8. 2015 UESTC 搜索专题C题 基爷与加法等式 爆搜DFS

    基爷与加法等式 Time Limit: 20 Sec  Memory Limit: 256 MB 题目连接 http://acm.uestc.edu.cn/#/contest/show/61 Desc ...

  9. USACO1.6 Healthy Holsteins【dfs/bfs 爆搜】

    题目传送门 饲料种数只有15 枚举每种选或不选一共也就只有$2^{15}=32768$ 爆搜可过觉得bfs要快一些? 但是dfs更方便处理字典序 只需要顺序遍历并且先搞选它的情况就可以了 而且在这种规 ...

随机推荐

  1. osgearth cache

    <map name="readymap.org" type="geocentric"> <options> <!--Specify ...

  2. O2O(online to offline)营销模式

    O2O营销模式又称离线商务模式,是指线上营销线上购买带动线下经营和线下消费.O2O通过打折.提供信息.服务预订等方式,把线下商店的消息推送给互联网用户,从而将他们转换为自己的线下客户,这就特别适合必须 ...

  3. Could not find the main class: org.apache.catalina.startup.Bootstrap. Program will exit.

    出现此异常原因是jdk环境变量未配置正确

  4. Windows 下 Tomcat 添加为系统服务

    标记一下,以便以后查看 setclasspath.bat 第一行插入 SET JAVA_HOME=C:\Program Files\Java\jre1.8.0_51 service.bat 第一行插入 ...

  5. 使用CreateProcess创建新的process 并返回process运行结束返回值

    转自:http://blog.csdn.net/zgl7903/article/details/5975284 转载这篇主要是记住:获得create的新进程运行结束时的返回值的方法 如下:   #in ...

  6. 如何安装win10和linux [ubuntu14]双系统

    https://jingyan.baidu.com/article/4d58d5411380dd9dd5e9c07e.html jpg 改 rar 

  7. shell截取字符串的一些简单方法

    一.使用${} 1.${var##*/}该命令的作用是去掉变量var从左边算起的最后一个'/'字符及其左边的内容,返回从左边算起的最后一个'/'(不含该字符)的右边的内容.使用例子及结果如下:

  8. win7 开机自启动控制

    直接用win+r运行 --- 输入 msconfig 去除“OneNote”开机自启动方法:取消勾选,点击 “应用” ,然后点击“确定” 即可

  9. 浏览器 User Agent字符串列表

    http://www.73207.com/useragent/ http://www.73207.com/useragent/pages/internet-2520explorer/index.htm ...

  10. SecureCRT无法使用root账户远程连接ubuntu

    ========1.问题============ SecureCRT无法使用root账户远程连接ubuntu 用其他账户连接,正常 用root账户连接,不能连接 =========2.原因====== ...