1118 Birds in Forest
题意:
思路:并查集模板题。
代码:
#include <cstdio>
#include <algorithm>
using namespace std;
;
int father[maxn];
};
void Init()
{
;i<maxn;i++)
father[i]=i;
}
int FindSet(int a)
{
int root=a;
while(father[root]!=root)
root=father[root];
//剪枝,(不剪枝会超时哦)
while(father[a]!=a){
int tmp=a;
a=father[a];
father[tmp]=root;
}
return root;
}
void Union(int a,int b)
{
int seta=FindSet(a);
int setb=FindSet(b);
if(seta!=setb) father[setb]=seta;
}
int main()
{
//freopen("pat.txt","r",stdin);
Init();
int n,m,pre,curr;
;
scanf("%d",&n);
;i<n;i++){
scanf("%d%d",&m,&pre);
if(pre>birdCnt) birdCnt=pre;
;j<m;j++){
scanf("%d",&curr);
if(curr>birdCnt) birdCnt=curr;
Union(pre,curr);
pre=curr;
}
}
;i<=birdCnt;i++)
birdSet[FindSet(i)]++;
;
;i<=birdCnt;i++)
) setCnt++;
printf("%d %d\n",setCnt,birdCnt);
int query,a,b;
scanf("%d",&query);
;i<query;i++){
scanf("%d%d",&a,&b);
if(FindSet(a)==FindSet(b)) printf("Yes\n");
else printf("No\n");
}
;
}
1118 Birds in Forest的更多相关文章
- 1118 Birds in Forest (25 分)
1118 Birds in Forest (25 分) Some scientists took pictures of thousands of birds in a forest. Assume ...
- [并查集] 1118. Birds in Forest (25)
1118. Birds in Forest (25) Some scientists took pictures of thousands of birds in a forest. Assume t ...
- PAT 1118 Birds in Forest [一般]
1118 Birds in Forest (25 分) Some scientists took pictures of thousands of birds in a forest. Assume ...
- PAT甲级——1118 Birds in Forest (并查集)
此文章 同步发布在CSDN:https://blog.csdn.net/weixin_44385565/article/details/89819984 1118 Birds in Forest ...
- 1118 Birds in Forest (25 分)
Some scientists took pictures of thousands of birds in a forest. Assume that all the birds appear in ...
- PAT 1118 Birds in Forest
Some scientists took pictures of thousands of birds in a forest. Assume that all the birds appear in ...
- 1118. Birds in Forest (25)
Some scientists took pictures of thousands of birds in a forest. Assume that all the birds appear in ...
- PAT A 1118. Birds in Forest (25)【并查集】
并查集合并 #include<iostream> using namespace std; const int MAX = 10010; int father[MAX],root[MAX] ...
- PAT题解-1118. Birds in Forest (25)-(并查集模板题)
如题... #include <iostream> #include <cstdio> #include <algorithm> #include <stri ...
随机推荐
- hermite插值
Hermite 插值就是要求插值函数不仅经过所给节点,而且要保证在该点的导数也相等.<备注:虽然还不理解这句话,但是还是先放这里!> 所谓样条曲线(Spline Curves)是指给定一组 ...
- node 模块部分介绍
chai 断言框架 mocha mochawesome 对mocha 定制报告,生成完整成熟的报告. node-fetch 服务器版fetch superagent 是node 客户端请求代理 ...
- spring3:对JDBC的支持 之 JDBC模板类
7.2 JDBC模板类 7.2.1 概述 Spring JDBC抽象框架core包提供了JDBC模板类,其中JdbcTemplate是core包的核心类,所以其他模板类都是基于它封装完成的,JDB ...
- colorlog的三个例子
例1:默认的log_colors import logging from logging.handlers import RotatingFileHandler from colorlog impor ...
- js图片倒计时
var discountOnline = !{discountOnline} if (discountOnline) { _fresh() setInterval(_fresh, 1000); } v ...
- STM32F407: USART 遇到的问题
今天初次使用STM32F407进行USART串口通讯实验,按照f103的代码写完了,发现没法发送数据, 查看文档后发现是由于没有将端口映射到USART1,然后添加如下代码: 1 GPIO_PinAFC ...
- jQuery——操作复选框(checkbox) attr checked不起作用
这天用到jQuery功能,想实现一个简单的复选框动态全选或全不选,结果测试发现 attr(‘checked’,'checked’);与attr(‘checked’,true); 都不好使,要么第一次成 ...
- WinForm与Javascript交互
在应用程序的集成过程中,有时候需要WinForm应用程序和Javascript程序进行交互.比如说:应用程序是一个综合调度系统,在整个综合调度系统中,要实现定位,显示地图.综合调度平台的大部分功能都是 ...
- 对无序数组的并发搜索的java实现
对无序数组的并发搜索的实现可以充分的用到多cpu的优势 一种简单的策略是将原始数组按照期望的线程数进行分割,如果我们计划使用两个线程进行搜索,就可以把一个数组分成两个,每个线程各自独立的搜索,当其中有 ...
- 使用 nvm 管理多版本 node
首先,使用下面的命令来安装 nvm $ curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.2/install.sh | b ...