Submission #1294882
Source Code Expand
#include<bits/stdc++.h> using namespace std; #define int long long struct UnionFind{ vector<int> r,p; UnionFind(){} UnionFind(int size){init(size);} void init(int size){ r.resize(size,0); p.resize(size,0); for(int i=0;i<size;i++) r[i]=1,p[i]=i; } int find(int x){ return (x==p[x]?x:p[x]=find(p[x])); } bool same(int x,int y){ return find(x)==find(y); } void unite(int x,int y){ x=find(x);y=find(y); if(x==y) return; if(r[x]<r[y]) swap(x,y); r[x]+=r[y]; p[y]=x; } }; signed main(){ for(int k=0;k<10;k++){ int n=1<<k; UnionFind uf(n); for(int i=0;i<n;i++){ for(int j=i+1;j<n;j++){ if(i&j) continue; if(!i||!j) continue; uf.unite(i,j); } } int cnt=0; for(int i=0;i<n;i++) if(uf.p[i]==i) cnt++; cout<<k<<":"<<cnt<<endl; } return 0; }
Submission Info
Submission Time | |
---|---|
Task | D - Everlasting -One- |
User | beet |
Language | C++14 (GCC 5.4.1) |
Score | 0 |
Code Size | 886 Byte |
Status | WA |
Exec Time | 1 ms |
Memory | 256 KB |
Judge Result
Set Name | all | ||
---|---|---|---|
Score / Max Score | 0 / 100 | ||
Status |
|
Set Name | Test Cases |
---|---|
all | Merged |
Case Name | Status | Exec Time | Memory |
---|---|---|---|
Merged | WA | 1 ms | 256 KB |