LA 3644 易爆物
https://vjudge.net/problem/UVALive-3644
简单的并查集题目。
1 #include<iostream> 2 using namespace std; 3 4 const int maxn = 100000 + 5; 5 6 int p[maxn]; 7 8 int find(int x) 9 { 10 return p[x] != x ? p[x] = (find(p[x])) : x; 11 } 12 13 int main() 14 { 15 //freopen("D:\\txt.txt", "r", stdin); 16 int x, y; 17 while (cin >> x && x != -1) 18 { 19 for (int i = 0; i < maxn; i++) 20 p[i] = i; 21 int cnt = 0; 22 while (x != -1) 23 { 24 cin >> y; 25 x = find(x); 26 y = find(y); 27 if (x == y) cnt++; 28 else p[x] = y; 29 cin >> x; 30 } 31 cout << cnt << endl; 32 } 33 }
如果您觉得阅读本文对您有帮助,请点一下“推荐”按钮,您的“推荐”将是我最大的写作动力!欢迎各位转载,但是未经作者本人同意,转载文章之后必须在文章页面明显位置给出作者和原文连接,否则保留追究法律责任的权利。
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步