Submission #1143598

#TimeUsernameProblemLanguageResultExecution timeMemory
11435980pt1mus23Kutije (COCI21_kutije)C++20
70 / 70
108 ms1864 KiB
#include <bits/stdc++.h> using namespace std; #define int long long int #define pii pair<int,int> #define endl '\n' #define all(x) x.begin(),x.end() const int mod = 998244353; const int inf = LLONG_MAX; const int LG = 23; const int sze = 2e5+23; struct DSU{ vector<int> parent; vector<int> sz; DSU(int n){ parent.resize(n+23,0); sz.resize(n+23,1); iota(all(parent),0); } int root(int node){ if(parent[node]==node) return node; return parent[node]=root(parent[node]); } void unite(int a,int b){ int x = root(a); int y = root(b); if(x!=y){ if(sz[x]<sz[y]){ swap(x,y); } parent[y]=x; sz[x]+=sz[y]; } } }; void fast(){ int n,m,q; cin>>n>>m>>q; DSU lan(n+23+23); for(int j=0;j<m;j++){ for(int i=1;i<=n;i++){ int x;cin>>x; lan.unite(x,i); } } while(q--){ int x,y; cin>>x>>y; cout<<(lan.root(x)==lan.root(y) ? "DA":"NE")<<endl; } } signed main(){ ios::sync_with_stdio(false); cin.tie(nullptr); int tt =1; // cin>>tt; while(tt--){ fast(); } return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...