POJ 1182 食物链 *
来源:互联网 发布:sql笔试题及答案 编辑:程序博客网 时间:2024/05/23 12:49
题目地址
用relaton[]数组保存结点与父节点的关系
同时要考虑两个集合并的时候,在状态压缩时要判断子结点与新的父节点的关系
思路来源:
http://blog.csdn.net/qq_33901573/article/details/52005905
http://blog.csdn.net/roney_win/article/details/9408571
#include<iostream>#include<cstdio>#include<queue>#include<map> #include<vector>#include<cctype>#include<cstring>#include<algorithm>using namespace std;const int maxn=50000+5;int p[maxn],r[maxn];//relationint getParent(int x){if(p[x]==x) return x;int xp=getParent(p[x]);r[x]=(r[x]+r[p[x]])%3;return p[x]=xp;}void merge(int d,int xp,int yp,int x,int y){p[yp]=xp;r[yp]=(3+(d-1)+r[x]-r[y])%3;}int main(){int N,K,D,X,Y;cin>>N>>K;int wrong=0;for(int i=1;i<=N;i++) p[i]=i;while(K--){cin>>D>>X>>Y;if(X>N||Y>N) wrong++;else if(D==2&&X==Y) wrong++;else {int xp=getParent(X);int yp=getParent(Y);if(xp!=yp) merge(D,xp,yp,X,Y);else{if(D==1&&r[X]!=r[Y]) wrong++;else if(D==2&&((r[Y]-r[X]+3)%3)!=1) wrong++;}}}cout<<wrong;return 0;}
0 0
- poj 1182 食物链
- poj 1182 食物链
- poj 1182 食物链(转)
- poj 1182 食物链
- poj 1182 食物链
- poj 1182 食物链
- POJ-1182 食物链
- POJ 1182 食物链
- poj 1182食物链
- POJ 1182 食物链
- POJ 1182 食物链
- poj 1182 食物链
- POJ 1182 食物链
- POJ 1182 食物链
- poj 1182 食物链
- POJ 1182 - 食物链
- poj 1182 食物链
- poj 1182 食物链
- 安装数据库提示无法解析机器名处理
- Js中的prototype
- php上传文件那些事
- HDU 1002 ????
- Android Fragment应用实战
- POJ 1182 食物链 *
- 使用IntelliJ IDEA开发SpringMVC网站(二)框架配置
- 蛇形填数
- hdu5750Dertouzos
- java基础之访问修饰符
- EasyUI_Datagrid编辑-键盘上下键选择行(一)
- 寻找最小的k个数
- LeetCode-19:Remove Nth Node From End of Lis
- hdu5749Colmerauer