Submission #536489

#TimeUsernameProblemLanguageResultExecution timeMemory
536489l3nl3Kutije (COCI21_kutije)C++17
70 / 70
147 ms9540 KiB
/*#pragma GCC optimize("O3") #pragma GCC target ("avx2") #pragma GCC optimize("Ofast") #pragma GCC target("sse,sse2,sse3,ssse3,sse4,popcnt,abm,mmx,avx,tune=native") #pragma GCC optimize("unroll-loops") */ #include <bits/stdc++.h> #define int long long using namespace std; const int N = 1e3 + 7; int n, m, q, p[N], r[N]; int getp (int x) { if (x == p[x]) return x; return p[x] = getp(p[x]); } void unite (int a, int b) { a = getp(a); b = getp(b); if (a == b) return; if (r[b] > r[a]) swap(a, b); p[b] = a; r[a] += r[b]; } signed main () { // freopen("", "r", stdin); // freopen("", "w", stdout); ios_base::sync_with_stdio(0); cin.tie(0), cout.tie(0); cin >> n >> m >> q; for (int i = 1; i <= n; i++) { p[i] = i; r[i] = 1; } for (int i = 1; i <= m; i++) { for (int j = 1; j <= n; j++) { int x; cin >> x; unite(x, j); } } while (q--) { int a, b; cin >> a >> b; if (getp(a) == getp(b)) cout << "DA\n"; else cout << "NE\n"; } }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...