# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
1237238 | lkateris | Kutije (COCI21_kutije) | C++20 | 118 ms | 10664 KiB |
#include <iostream>
#include <vector>
using namespace std;
int cnt = 1;
vector<int> adj[1005];
bool vis[1005];
int seg[1005];
void dfs(int x) {
vis[x] = true;
seg[x] = cnt;
for(auto e:adj[x]) {
if (vis[e]) continue;
dfs(e);
}
}
int main() {
int N,M,Q;
scanf("%d%d%d",&N,&M,&Q);
for(int i=0;i<M;++i) {
for(int j=1;j<=N;++j) {
int x;
scanf("%d",&x);
adj[j].push_back(x);
adj[x].push_back(j);
}
}
for(int i=1;i<=N;++i) {
if (vis[i]) continue;
dfs(i);
cnt++;
}
for(int i=0;i<Q;++i) {
int a,b;
scanf("%d%d",&a,&b);
if (seg[a] == seg[b]) printf("DA\n");
else printf("NE\n");
}
return 0;
}
Compilation message (stderr)
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |