Submission #698272

#TimeUsernameProblemLanguageResultExecution timeMemory
698272ancuber1031Kutije (COCI21_kutije)C++14
70 / 70
158 ms1796 KiB
#include <bits/stdc++.h> using namespace std; #define pb push_back #define endl '\n' int n, m, q; struct DSU{ vector<int> bs; void init(int _n) { bs.assign(_n+5,0); for (int i = 1; i <= _n; ++i) { bs[i] = i; } } int find(int p) { if (p == bs[p]) return p; return bs[p] = find(bs[p]); } void add(int u, int v) { int x = find(u), y = find(v); bs[x] = y; } } dsu; int main() { ios::sync_with_stdio(0), cin.tie(0), cout.tie(0); cin>>n>>m>>q; dsu.init(n); for (int i = 1; i <= m; ++i) { for (int j = 1; j <= n; ++j) { int p; cin>>p; dsu.add(p,j); } } while(q--) { int u, v; cin>>u>>v; if (dsu.find(u) == dsu.find(v)) cout<<"DA"<<endl; else cout<<"NE"<<endl; } 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...