题解 P8014 [COCI2013-2014#4] SUMO
大家好,我是 CQ-C2024 蒟蒻 CJH。
题意
题目描述写得很清楚了。
标签:并查集。
分析题目
此题就是一道近似于模板的一道并查集的题。
在这里我用
在
否则当
代码实现
//the code is from chenjh
#include<cstdio>
#define MAXN 100001
using namespace std;
int fa[MAXN],d[MAXN];
inline int find(int x){return x==fa[x]?x:fa[x]=find(fa[x]);}
void merge(int x,int y){fa[x]=y;}
int main(){
int n,m;
scanf("%d%d",&n,&m);
for(int i=1;i<=n;i++) fa[i]=i;//初始化 fa 数组。
for(int t=1,x,y;t<=m;t++){
scanf("%d%d",&x,&y);
int rx=find(x),ry=find(y);//获得两队队伍。
if(rx==ry) return printf("%d\n",t),0;//如果两队队伍相同则输出并结束程序。
if(d[x] && find(d[x])!=ry) merge(find(d[x]),ry);//合并
if(d[y] && find(d[y])!=rx) merge(find(d[y]),rx);
d[x]=ry,d[y]=rx;//记录敌队
}
return 0;
}
谢谢大家!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现