http://acm.hdu.edu.cn/showproblem.php?pid=4678

之前写了一并差集找连通块 貌似不对 比赛时写的dfs爆栈了 只好用bfs了

单独数字块  为1

空白+数字块 数字数%2+1

异或

 #include <iostream>
#include<cstdio>
#include<cstring>
#include<stdlib.h>
#include<algorithm>
#include<queue>
using namespace std;
#define N 1010
int dis[][] = {,,-,,,,,-,,,,-,-,,-,-};
int n,m,k;
int vis[N][N],o[N][N],f[N][N];
struct node
{
int x,y;
};
int bfs(int x,int y)
{
queue<node>q;
struct node st,sd;
int num = ,i;
st.x = x;
st.y = y;
vis[x][y] = ;
q.push(st);
while(!q.empty())
{
sd = q.front();
int tx = sd.x;
int ty = sd.y;
q.pop();
for(i = ;i < ; i++)
{
int dx = tx+dis[i][];
int dy = ty+dis[i][];
if(dx>=&&dx<n&&dy>=&&dy<m&&!vis[dx][dy])
{
vis[dx][dy] = ;
if(!f[dx][dy]&&o[dx][dy])
num++;
st.x = dx;
st.y = dy;
if(!f[dx][dy]&&!o[dx][dy])
q.push(st);
}
}
}
if(num%==)
return ;
return ;
}
int main()
{
int i,j,t,kk=;
scanf("%d",&t);
while(t--)
{
kk++;
scanf("%d%d%d",&n,&m,&k);
for(i = ; i <= n ; i++)
for(j = ; j <= m ; j++)
{
f[i][j] = ;
o[i][j] = ;
vis[i][j] = ;
}
while(k--)
{
int x,y;
scanf("%d%d",&x,&y);
f[x][y] = ;
for(i = ; i < ; i++)
{
int tx = x+dis[i][];
int ty = y+dis[i][];
if(tx>=&&tx<n&&ty>=&&ty<m)
o[tx][ty] = ;
}
}
int ans=;
for(i = ; i < n ; i++)
for(j = ; j < m ; j++)
if(!f[i][j]&&!vis[i][j]&&o[i][j]==)
{
int w = bfs(i,j);
ans ^= w;
}
for(i = ; i < n ; i++)
for(j = ; j < m ; j++)
if(!f[i][j]&&!vis[i][j]&&o[i][j])
ans ^= ;
printf("Case #%d: ",kk);
if(ans==)
printf("Fanglaoshi\n");
else
printf("Xiemao\n");
}
return ;
}

hdu4678Mine的更多相关文章

随机推荐

  1. 09_httpclient测试SOAP协议

    [工程截图]注意:无需使用Wsimport生成客户端代码 [HttpClient.java] import java.io.ByteArrayOutputStream; import java.io. ...

  2. ZOJ 2624 Popo's Lamps(DP 记忆化搜索)

    题目链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=2624 题目大意:popo要将给定数量的灯变成自己想要的颜色,有一 ...

  3. bzoj1002:[FJOI2007]轮状病毒

    思路:一道很裸的生成树计数问题,然而要高精度,而且听说直接行列式求值会被卡精度,所以可以模拟行列式求值的过程得到递推公式:f[i]=3*f[i-1]-f[i-2]+2,证明详见vfk博客: http: ...

  4. iOS 分类思想(2)

    /******************* NSString+NumCount.h文件 ******************************/ #import <Foundation/Fo ...

  5. post提交与get提交的一个小知识点

    今天偶然发现post提交与get提交的一个小知识点,记下来以后可以看看. 将form表单的method的设置为get后,通过url传递的参数将不会被传递到服务器,例如1.ashx?a=123,的a=1 ...

  6. H5 App如此强悍,要降薪的恐怕已不只是iOS程序员

    2015年的最后几天,移动开发圈里最为火爆的话题之一无疑是“iOS程序员月薪降至12K”这则报道. 有人认为这是O2O创业遇冷所致,也有人认为这是iOS生态过于封闭致使智能硬件等新领域对iOS开发者的 ...

  7. java异常处理机制 (转载)

    java异常处理机制 本文来自:曹胜欢博客专栏.转载请注明出处:http://blog.csdn.net/csh624366188 异常处理是程序设计中一个非常重要的方面,也是程序设计的一大难点,从C ...

  8. Git问题:Cannot update paths and switch to branch 'dev' at the same time.

    使用命令 $ git checkout -b develop origin/develop 签出远程分支,出现以下错误: fatal: Cannot update paths and switch t ...

  9. [CSS]white-space 属性详解

    实例 规定段落中的文本不进行换行: p { white-space: nowrap } 可能的值 值 描述 normal 默认.空白会被浏览器忽略. pre 空白会被浏览器保留.其行为方式类似 HTM ...

  10. php中 __autoload函数 自动加载类文件机制

    魔术函数,自动加载机制function __autoload($class_name) {   //自动传递的是类名$path = str_replace('_', '/', $class_name) ...