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. Windows下lex 与 yacc的使用

     Windows下lex 与 yacc的使用 首先 下载下载flex和bison.网址是http://pan.baidu.com/s/1dDlfiW5 选择下载就好了,下载后解压到你电脑中的任一盘中. ...

  2. 暑假集训(3)第三弹 -----Til the Cows Come Home(Poj2387)

    题意梗概:据说母牛在产奶的时候,因为奶量太充足,希望有人帮它挤奶,它回家就很快.我们便能喝到鲜美的 牛奶,不过,贫奶季节却大不相同,它会懒洋洋的在大草原上晃来晃去的晒太阳,而不会想到马上回家,这可不 ...

  3. 第43条:返回零长度的数组或者集合,而不是null

    private final List<Cheese> cheesesInStock = ...; public Cheese[] getCheese() { if(cheesesInSto ...

  4. jxl和poi处理excel之比较

    功能需求是根据客户提供的excel模板,程序动态填充其中的一些数据.该模板包含大量的宏,刚拿到的时候头都要晕了,本人虽天天和电脑打交道,但是excel咱不是高手啊,什么宏,之前光听过,听着都觉得是高级 ...

  5. htmlt中的块状元素与内联元素

    块元素(block element) address - 地址 blockquote - 块引用 center - 举中对齐块 dir - 目录列表 div - 常用块级容易,也是CSS layout ...

  6. Photoshop快捷键

    ctrl+del :铺后景色alt+del:铺前景色ctrl+d:取消选框ctrl+t:拉伸(挡住文字)TAB:显示(隐藏)工具栏ctrl+alt+i:反选ctrl+r:辅佐线ctrl+j:复制并添加 ...

  7. TweenMax动画库学习(二)

    目录            TweenMax动画库学习(一)            TweenMax动画库学习(二)            TweenMax动画库学习(三)            Tw ...

  8. 判断滚动条到底部的JS代码

    这篇文章介绍了判断滚动条到底部的JS代码,有需要的朋友可以参考一下 判断滚动条到底部,需要用到DOM的三个属性值,即scrollTop.clientHeight.scrollHeight. scrol ...

  9. 注意WPF中绑定使用的是引用类型

    绑定(Binding)是WPF提供的一个非常方便的特性,它可以方便的实现一个WPF的MVVM结构. 既可以实现数据驱动UI变化,也可以做到End-user在UI上的修改实现的反映到数据上. 但是有一点 ...

  10. Swagger+AutoRest

    Swagger+AutoRest 生成web api客户端(.Net)   简介 对于.net来说,用web api来构建服务是一个不错的选择,都是http请求,调用简单,但是如果真的要在程序中调用, ...