Submission #862664

#TimeUsernameProblemLanguageResultExecution timeMemory
862664HossamHero7Kutije (COCI21_kutije)C++14
70 / 70
121 ms13476 KiB
#include <bits/stdc++.h> using namespace std; typedef long long ll; #define endl '\n' struct dsu{ int n; vector<int> par; dsu(int _n){ n = _n; par.resize(n); iota(par.begin(),par.end(),0); } int getP(int node){ if(par[node] == node) return node; return par[node] = getP(par[node]); } void add(int u,int v){ int a = getP(u), b = getP(v); if(a == b) return; par[b] = a; } }; void solve(){ int n,m,q; cin>>n>>m>>q; vector<vector<int>> v(m,vector<int>(n)); for(auto &i:v) for(auto &j:i) cin>>j; dsu ds(n); for(int i=0;i<m;i++){ for(int j=0;j<n;j++){ ds.add(j,v[i][j]-1); } } while(q--){ int a,b; cin>>a>>b; a --,b --; cout<<(ds.getP(a) == ds.getP(b) ? "DA" : "NE")<<endl; } } int main(){ ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0); int t=1; //cin>>t; while(t--){ solve(); } 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...