제출 #1022179

#제출 시각아이디문제언어결과실행 시간메모리
1022179vjudge1Kutije (COCI21_kutije)C++17
70 / 70
892 ms10780 KiB
#include <bits/stdc++.h>

using namespace std;

const int M = 1001;

vector<int> nei[M];
int nm[M],cc;
bool vis[M];

void dfs(int u)
{
	vis[u]=1;
	nm[u]=cc;
	for (int i:nei[u])
		if (!vis[i])
			dfs(i);
}

int main()
{
	int n,m,q;
	cin>>n>>m>>q;
	int a[n+1];
	for (int i=0;i<m;i++)
	{
		for (int i=1;i<=n;i++)
			cin>>a[i];
		for (int i=1;i<=n;i++)
		{
			nei[i].push_back(a[i]);
			nei[a[i]].push_back(i);
		}
	}
	for (int i=1;i<=n;i++)
	{
		if (!vis[i])
		{
			dfs(i);
			cc++;
		}
	}
	while (q--)
	{
		int a,b;
		cin>>a>>b;
		if (nm[a]==nm[b])
			cout<<"DA"<<'\n';
		else
			cout<<"NE"<<'\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...