把相互覆盖的骨牌放入一个集合中,如果一个集合有cnt 个元素  那么这个集合所在区域最多只能存在 (cnt +1)/2 个元素。

#include <iostream>
#include <cstdio>using namespace std;int father[2005];
int cnt[2005];
int vis[105][105];void init(int n)
{int i;for(i=1;i<=n;i++){father[i]=i;cnt[i]=0;}
}int find(int x)
{while(father[x]!=x)x=father[x];return x;
}
void merge(int x,int y)
{int xx=find(x);int yy=find(y);if(xx==yy)return;father[xx]=yy;
}int main()
{int n,m;while(scanf("%d%d",&n,&m)!=EOF){if(!n && !m)break;memset(vis,0,sizeof(vis));init(n+m);for(int i=1;i<=n;i++){int x,y;scanf("%d%d",&x,&y);vis[y][x]=vis[y][x+1]=i;}for(int i=n+1;i<=n+m;i++){int x,y;scanf("%d%d",&x,&y);if(vis[y][x]!=0)merge(i,vis[y][x]);if(vis[y+1][x]!=0)merge(i,vis[y+1][x]);}for(int i=1;i<=m+n;i++){int rt=find(i);cnt[rt]++;}int ans=0;for(int i=1;i<=m+n;i++){ans+=((cnt[i]+1)/2);}printf("%d\n",ans);}return 0;
}

转载于:https://www.cnblogs.com/james1207/p/3283606.html

hdu 4619 Warm up 2(并查集)相关推荐

  1. How Many Answers Are Wrong HDU - 3038(带权并查集经典题,满满的都是注释)

    How Many Answers Are Wrong HDU - 3038  点击打开链接 题意:现在有n个数(你并不知道这n个数是什么),m次查询,每次查询给出u,v,w.表示从第u个数到第v个数的 ...

  2. hdu 1232 畅通工程 最小生成树 并查集

    1232的连接:http://acm.hdu.edu.cn/showproblem.php?pid=1232 #include <iostream>#include <cstdio& ...

  3. HDU 1213 How Many Tables 并查集 水~

    http://acm.hdu.edu.cn/showproblem.php?pid=1213 果然是需要我陪跑T T,禽兽工作人员还不让,哼,但还是陪跑了~ 啊,还有呀,明天校运会终于不用去了~耶耶耶 ...

  4. hdu 3234 Exclusive-OR 题解(并查集,思维)

    该死的期末复习终于结束了... 暑假来了\color{#ff0000}{暑假来了}暑假来了!!! 所以我就珂以非常开心的写博客了. 原题链接: hdu 题意简述 多组数据.你有一个没有确定的数列.有一 ...

  5. HDU 1272 小希的迷宫 (并查集)

    小希的迷宫 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submiss ...

  6. hdu 1811 Rank of Tetris (并查集+拓扑排序)

    Problem - 1811 感觉这题的并查集以及拓扑排序并不难,但是做题的时候必须理解到矛盾(CONFLICT)与不确定(UNCERTAIN)直接的优先关系. 做这题的时候,构图什么的很简单,就是没 ...

  7. hdu 3047 Zjnu Stadium(并查集)

    题意: 300个座位构成一个圈. 有N个人要入座. 共有M个说明 :A B X ,代表B坐在A顺时针方向第X个座位上.如果这个说明和之前的起冲突,则它是无效的. 问总共有多少个无效的. 思路: 并查集 ...

  8. HDU - 2874 Connections between cities(并查集+LCA)

    题目链接:点击查看 题目大意:给出n个点代表城市,再给出m条边将其连接,每条边都有边权,题目保证给出的图无环,现在给出两个点,首先询问两个点是否互相连通,若可以连通,询问两点之间的距离 题目分析:判断 ...

  9. How Many Answers Are Wrong HDU - 3038(带权并查集)

    TT and FF are - friends. Uh- very very good friends -________-b FF is a bad boy, he is always wooing ...

  10. HDU - 1811 Rank of Tetris 并查集 + 拓扑序 +me

    link 题意: 首先看到排名自然想到拓扑序,但是存在等于的情况,这就启发我们把等于的情况缩成一个点,让后在缩点后的图中进行拓扑即可. 对于不合法的情况当然是拓扑序没有遍历到应该遍历的点,所以只需要检 ...

最新文章

  1. 计算机网络教学重点突破,武汉理工大学计算机网络复习重点教学内容(34页)-原创力文档...
  2. AtCoder AGC019E Shuffle and Swap (DP、FFT、多项式求逆、多项式快速幂)
  3. webview部分安卓机中文乱码
  4. 扩展吉日嘎拉的用户角色管理,让用户角色编码和名称在一个组织里面唯一
  5. 可靠信道传输2.0 2.1 3.0
  6. c++ 4种新型的类型static_cast、dynamic_cast、reinterpret_cast、const_cast转换运算符
  7. 电风扇标准集合(BS/EN/IEC/UL) - 安规+性能
  8. 项目练习之利用Arraylist 实现学生管理系统(查询,添加,删除,修改)
  9. 【Windows】无法访问指定设备,路径或文件,您可能没有合适的权限访问这个项目
  10. thinkphp使用ajax、jquery、Mysql实现了简单的客户端通信功能
  11. 计算机动画的应用 ppt,你也是幼教 用PPT制作识字动画
  12. photoshop 重复上一次变换操作 ctrl+shift+alt+t
  13. 现在快手流量怎么样?如何增加流量?
  14. 阿里云oss搭建图床以及使用PicGO上传图片到图床
  15. MISC常用工具(会接着补)
  16. boot.scr生成
  17. Java日期格式化字母含义
  18. C - 开门人和关门人(结构体+sort)
  19. 北交 操作系统 课程笔记(一)
  20. 玲珑骰子安红豆,入骨相思知不知

热门文章

  1. 需求跟踪矩阵模板_大连电视台采用无跟踪虚拟技术升级多套节目
  2. ros melodic控制真实机械臂之等周期输出插补点
  3. 列名 userid 不明确。 表结构_SQL-Server(三)表的创建和操作
  4. 线程安全list_多线程开发之如何创建一个线程安全的类
  5. 从零开始刷Leetcode——数组(118.119.121)
  6. Top1方案源码和数据,腾讯广告受众基础属性预估
  7. 知识图谱入门 , 知识抽取
  8. CNN提取文本特征,融合PMF模型实现推荐系统
  9. 编译qt的oracle驱动,怎样编译Qt下的Oracle驱动
  10. mysql 大文件导入工具_BigDump:导入超大mysql数据库文件工具