Submission #1972096
Source Code Expand
#include <bits/stdc++.h> using namespace std; #define FOR(i,a,b) for(int i=(a);i<(b);++i) #define rep(i,n) FOR(i,0,n) #define pb emplace_back #define mp make_pair typedef long long ll; typedef pair<int,int> pint; #define MAX_N 100001 struct UnionFind{ int par[MAX_N],rank[MAX_N]; void init(int n){ for (int i=0;i<n;i++){ par[i]=i; rank[i]=0; } } int find(int x){ if (x==par[x]) return (x); return (par[x]=find(par[x])); } void unite(int x, int y){ x=find(x);y=find(y); if(x==y) return; if(rank[x]<rank[y]){ par[x]=y; } else{ par[y]=x; if(rank[x]==rank[y]) rank[x]++; } } bool same(int x, int y){ return (find(x) == find(y)); } }; set<int> st; int main(){ int n,m,ai,bi; cin>>n>>m; UnionFind uf; uf.init(n); rep(i,m){ cin>>ai>>bi; --ai,--bi; uf.unite(ai,bi); } int cnt=0; rep(i,n){ st.insert(uf.find(i)); } cout<<st.size()-1<<endl; return 0; }
Submission Info
Submission Time | |
---|---|
Task | B - 道路工事 |
User | ts_ |
Language | C++14 (GCC 5.4.1) |
Score | 100 |
Code Size | 1172 Byte |
Status | AC |
Exec Time | 80 ms |
Memory | 5760 KB |
Judge Result
Set Name | Sample | All | ||||
---|---|---|---|---|---|---|
Score / Max Score | 0 / 0 | 100 / 100 | ||||
Status |
|
|
Set Name | Test Cases |
---|---|
Sample | sample1.txt, sample2.txt |
All | 0.txt, 1.txt, 10.txt, 11.txt, 12.txt, 13.txt, 14.txt, 15.txt, 16.txt, 17.txt, 18.txt, 19.txt, 2.txt, 3.txt, 4.txt, 5.txt, 6.txt, 7.txt, 8.txt, 9.txt, sample1.txt, sample2.txt |
Case Name | Status | Exec Time | Memory |
---|---|---|---|
0.txt | AC | 1 ms | 256 KB |
1.txt | AC | 1 ms | 256 KB |
10.txt | AC | 1 ms | 256 KB |
11.txt | AC | 1 ms | 256 KB |
12.txt | AC | 1 ms | 256 KB |
13.txt | AC | 1 ms | 256 KB |
14.txt | AC | 1 ms | 256 KB |
15.txt | AC | 52 ms | 256 KB |
16.txt | AC | 22 ms | 5760 KB |
17.txt | AC | 24 ms | 5760 KB |
18.txt | AC | 22 ms | 5760 KB |
19.txt | AC | 80 ms | 1792 KB |
2.txt | AC | 1 ms | 256 KB |
3.txt | AC | 1 ms | 256 KB |
4.txt | AC | 1 ms | 256 KB |
5.txt | AC | 1 ms | 256 KB |
6.txt | AC | 1 ms | 256 KB |
7.txt | AC | 1 ms | 256 KB |
8.txt | AC | 1 ms | 256 KB |
9.txt | AC | 1 ms | 256 KB |
sample1.txt | AC | 1 ms | 256 KB |
sample2.txt | AC | 1 ms | 256 KB |