Submission #548111

#TimeUsernameProblemLanguageResultExecution timeMemory
548111aryan12Kutije (COCI21_kutije)C++17
70 / 70
143 ms9448 KiB
#include <bits/stdc++.h> using namespace std; #define int long long mt19937_64 RNG(chrono::steady_clock::now().time_since_epoch().count()); const int N = 1010; int par[N]; int Find(int x) { if(x == par[x]) { return x; } return par[x] = Find(par[x]); } void Unite(int a, int b) { a = Find(a), b = Find(b); if(a == b) { return; } par[a] = b; } void Solve() { int n, m, q; cin >> n >> m >> q; for(int i = 1; i <= n; i++) { par[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)) { Unite(x, j); } } } for(int i = 1; i <= q; i++) { int a, b; cin >> a >> b; if(Find(a) != Find(b)) { cout << "NE\n"; } else { cout << "DA\n"; } } } int32_t main() { auto begin = std::chrono::high_resolution_clock::now(); ios_base::sync_with_stdio(0); cin.tie(0); int t = 1; // cin >> t; for(int i = 1; i <= t; i++) { //cout << "Case #" << i << ": "; Solve(); } auto end = std::chrono::high_resolution_clock::now(); auto elapsed = std::chrono::duration_cast<std::chrono::nanoseconds>(end - begin); cerr << "Time measured: " << elapsed.count() * 1e-9 << " seconds.\n"; 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...