# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
579165 | 2022-06-18T12:36:51 Z | Trisanu_Das | Kutije (COCI21_kutije) | C++17 | 0 ms | 0 KB |
#include <bits/stdc++.h> using namespace std; int parent[1001]; int find(int u){ if(u = parent[u]) return u; return parent[u] = find(parent[u]); } void join(int u, int v){ u = find(u); v = find(b); if(u == v) return; parent[v] = u; } int main(){ int n, m, q; cin >> n >> m >> q; for(int i = 1; i < n + 1; i++) parent[i] = i; for(int i = 1; i <= m; i++) { for(int j = 1; j <= n; j++) { int x; cin >> x; if(find(x) != find(j)) join(x, j); } } while(q--){ int a, b; cin >> a >> b; if(find(a) == find(b)) cout << "DE\n"; else cout << "NE\n"; } }