poj 食物链 种类并查集
2014-04-13 12:45
225 查看
wa 还没找出哪里的错误 先放这里
#include<iostream> #include<stdio.h> #include<cstring> #include<cstdlib> #include<queue> #include<math.h> #include<algorithm> using namespace std; int n,m; struct node { int f,k; } p[50002]; int find1(int x) // { if(p[x].f==x) { p[x].k=0; return p[x].f=x; } int fa=find1(p[x].f); p[x].k=(p[x].k+p[p[x].f].k)%3; return p[x].f=fa; } int main() { int z,a,b; while(~scanf("%d%d",&n,&m)) { for(int i=1; i<=n; i++) // 0相同 1根吃x 2 x吃根 { p[i].f=i; p[i].k=0; } int ans=0;//假话种类数 while(m--) { scanf("%d%d%d",&z,&a,&b); if(a>n || b>n ||(a==b && z==2)) ans++; else { int aa=find1(a); int bb=find1(b); if(aa==bb) { if((p[b].k-p[a].k+3)%3!=(z-1)) ans++; } else { p[bb].f=aa; p[bb].k=(p[a].k-p[b].k+z2)%3; } } } printf("%d\n",ans); } return 0; }
相关文章推荐
- poj 食物链(种类并查集)(思路)
- Poj 食物链 解题报告 (种类并查集)
- poj 1182 食物链(种类并查集)
- poj 食物链(种类并查集)(思路)
- POJ 1182 食物链——种类并查集
- POJ 1182 食物链(种类并查集)
- poj1182~食物链~种类并查集
- POJ 1182 食物链【带种类并查集】
- poj 1182 食物链(经典种类并查集)
- 【POJ 1182】 食物链 【种类并查集】
- poj 食物链(种类并查集)(思路)
- POJ-1182 食物链 (种类并查集)
- poj1182 食物链 (种类并查集)
- poj 1182:食物链(种类并查集,食物链问题)
- POJ1182 【NOI2001】 食物链 <种类并查集>
- POJ 1182 食物链(种类并查集)
- poj 食物链(种类并查集)(思路)
- POJ 1182 食物链(种类并查集)
- poj 食物链(种类并查集)(思路)
- poj 食物链(种类并查集)(思路)