poj 1733 Parity game【哈希+并查集】
来源:互联网 发布:短信群发网站源码 编辑:程序博客网 时间:2024/06/03 17:29
这道题题意我不想说了,但是有一个条件必须的说,就是1-2其实是0-2这条边,3-4是2-4这条边,但是困惑了好久,其他就是哈希给他一个地址 ,然后把注解看下方
#include <stdio.h>#include <string.h>#define maxx 10001int par[maxx];int rank[maxx];void init(){ for(int i=0;i<=maxx;i++) { rank[i]=0; par[i]=i; }}int findset(int n){if(n==par[n])return n;;int t =findset(par[n]);rank[n]=(rank[n]+rank[par[n]])%2;//判断父亲和儿子的奇偶性,并更新他们 par[n]=t; return par[n];}int unite(int n,int m,int h){int pn=findset(n);int pm=findset(m);if(pn==pm){if((rank[n]+rank[m]+h)%2==0)return 1;elsereturn 0;} else { par[pn]=pm; rank[pn]=(rank[n]+rank[m]+h)%2; return 1; }}int hash[maxx];int aa=0;int main (){int N;int M;scanf("%d",&N);init();scanf("%d",&M);int a,b;char s[10];int hh;int j;for(j=0;j<M;j++){int px=0,py=0; scanf("%d%d%s",&a,&b,s); if(s[0]=='o') hh=1; else hh=0; a--; hash[0]=0; for(int i=0;i<=aa;i++)//用哈希给他们地址 { if(hash[i]==a) { px=i; break; } } if(px==0&&a!=0) { aa++; hash[aa]=a; px=aa; } for(int i=0;i<=aa;i++) { if(hash[i]==b) { py=i; break; } } if(py==0&&b!=0) { aa++; hash[aa]=b; py=aa; } if(unite(px,py,hh)==0) break; } printf("%d\n",j);}
0 0
- POJ 1733 Parity game(并查集)
- POJ 1733 Parity game (并查集)
- 【POJ】1733 Parity game 并查集
- poj-1733 Parity game 并查集
- [POJ 1733]Parity game[并查集]
- POJ 1733 Parity game(并查集)
- POJ 1733 Parity game(种类并查集+哈希)
- poj 1733 Parity game【哈希+并查集】
- poj 1733 Parity game(带权并查集)
- [带权并查集] poj 1733 Parity game
- poj 1733 - Parity game(离散化+并查集)
- poj 1733 Parity game (并查集+向量偏移)
- POJ 1733 parity game (hash离散+并查集)
- POJ - 1733 Parity game (带权并查集)
- poj 1733 Parity game 并查集+路径压缩
- poj 1733 Parity game 并查集 离散化
- poj 1733 Parity game 带权并查集
- poj 1733 Parity game 【种类并查集+离散化】
- 二、理解over()函数
- PHP序
- 开发资源库
- maven missing com.sun:tools:jar:1.5.0
- IOS 小技巧 (持续更新ing.....)
- poj 1733 Parity game【哈希+并查集】
- 抽象工厂模式-与-工厂方法模式区别
- DELPHI指针灵活运用
- IplImage, CvMat, Mat 的关系
- Tinyxml读写xml(一)
- 区间dp总结篇
- Hdu4951 Multiplication table
- Android BitmapFactory支持解析的图片格式
- 从request中获取上一个请求的url