poj 1988 &&poj 2524
2013-07-25 08:55
330 查看
poj 1988
num是统计该堆中cube的数目
ans是统计该cube下面的cube的数目
代码如下:
poj 2524
水题一道
代码如下:
num是统计该堆中cube的数目
ans是统计该cube下面的cube的数目
代码如下:
#include<iostream> using namespace std; #include<cstdio> const int maxn=50005; int pre[maxn],num[maxn],ans[maxn]; void init() { int i; for(i=0;i<maxn;i++){ pre[i]=i; num[i]=1; ans[i]=0; } } int find(int x) { if(x==pre[x]) return x; else { int t=pre[x]; pre[x]=find(t); ans[x]+=ans[t]; return pre[x]; } } void Union(int a,int b) { int fa=find(a); int fb=find(b); if(fa!=fb){ pre[fa]=fb; ans[fa]=+num[fb];//cube下面数目的更新 num[fb]+=num[fa];//cube数目的更新 return ; } } int main() { int n; char str[5]; while(~scanf("%d",&n)){ init(); int x,y,fx,fy; while(n--){ scanf("%s",str); if(str[0]=='M'){ scanf("%d%d",&x,&y); Union(x,y); } else{ scanf("%d",&x); fx=find(x); printf("%d\n",ans[x]); } } } return 0; }
poj 2524
水题一道
代码如下:
#include<iostream> using namespace std; #include<cstdio> const int maxn=50010; int pre[maxn]; int find(int x) { return x==pre[x]?x:pre[x]=find(pre[x]); } void Union(int x,int y) { int fx=find(x); int fy=find(y); if(fx!=fy) pre[fx]=fy; } int main() { int n,m,a,b; int ncase=1; while(scanf("%d%d",&n,&m),n+m){ for(int i=0;i<maxn;i++) pre[i]=i; while(m--){ scanf("%d%d",&a,&b); Union(a,b); } int ans=0; for(int i=1;i<=n;i++){ if(pre[i]==i) ans++; } printf("Case %d: %d\n",ncase++,ans); } return 0; }
相关文章推荐
- HDU 2818&&POJ 1988 并查集简单应用
- HDU 2818&&POJ 1988 并查集简单应用
- Uva 10583 && Poj 2524 Ubiquitous Religions
- poj-2236 Wireless Network &&poj-1611 The Suspects && poj-2524 Ubiquitous Religions (基础并查集)
- poj 1988 Cube Stacking && codevs 1540 银河英雄传说(加权并茶几)
- poj 1988_并查集(*)
- POJ 2031 && ZOJ 1718--Building a Space Station【最小生成树 && kurskal && 水题】
- POJ 2524 宗教信仰 并查集 基础模板
- POJ 1416 && OpenJudge 1805 Shredding Company (DFS+剪枝)
- POJ2352 Stars(线段树 & 树状数组)
- poj&nbsp;Allantis&nbsp;(面积计算)1155线段…
- poj 1201&hdu1384 差分约束系统
- poj&nbsp;3259spfa()判断是否存在负环
- Splay Tree (POJ 3580 & UVA 12356 & HDU 1890)
- POJ 3320 Jessica's Reading Problem(尺取法)
- HDU 1535 && POJ 1511 Invitation Cards (SPFA 模板 + 反向建图)
- POJ 3654 & ZOJ 2936 & HDU 2723 Electronic Document Security(模拟)
- POJ 2524 :Ubiquitous Religions
- poj 2348 Euclid's Game
- 后缀数组 Poj---1743 : Musical Theme