博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Luogu P2024 [NOI2001]食物链
阅读量:5214 次
发布时间:2019-06-14

本文共 972 字,大约阅读时间需要 3 分钟。

#include
#include
using namespace std;int n,k,fa[1000005],ans;inline int getfa(int v){ return fa[v]==v?v:fa[v]=getfa(fa[v]);}inline void merge(int x,int y){ x=getfa(x);y=getfa(y); if(x!=y)fa[y]=x;}inline bool family(int x,int y){ return getfa(x)==getfa(y);}int main(){ scanf("%d%d",&n,&k); for(int i=1;i<=3*n;i++)fa[i]=i; for(int i=1;i<=k;i++){ int opt,x,y; scanf("%d%d%d",&opt,&x,&y); if(x>n||y>n){ans++;continue;} if(opt==1){ if(family(x,y+n)||family(x,y+2*n)){ans++;continue;} merge(x,y); merge(x+n,y+n); merge(x+2*n,y+2*n); } else{ if(x==y){ans++;continue;} if(family(x+2*n,y)||family(x,y)){ans++;continue;} merge(x+n,y); merge(x,y+2*n); merge(x+2*n,y+n);//是个环:猎物的猎物是天敌 } } printf("%d\n",ans);}//x+n:猎物 x+2*n:天敌

转载于:https://www.cnblogs.com/Y15BeTa/p/11428044.html

你可能感兴趣的文章
不一样的交互组件
查看>>
php 的路由简介 (一个简单的路由模式)
查看>>
算法学习之希尔排序的简洁实现
查看>>
Asp.net中文件的压缩与解压
查看>>
App Framework $.ui.loadContent 参数解释
查看>>
802.11整体框架
查看>>
win8 iis安装及网站发布
查看>>
winform 客户端应用程序(c/s b/s)
查看>>
Java-java中无符号类型的处理
查看>>
[转]推荐系统的循序进阶读物
查看>>
Web服务器的工作原理
查看>>
什么时候用引用,什么时候用指针的一个小例子
查看>>
ggplot2 subscript in x-axis labels(ticks, legend)
查看>>
shell删除最后一列、删除第一行、比较文件
查看>>
BI学习向导文章
查看>>
窗口的大小和定位
查看>>
storage在IE8下的兼容性写法
查看>>
vue使用tips记录
查看>>
day03_常用函数
查看>>
标准正则表达式规范
查看>>