제출 #579179

#제출 시각아이디문제언어결과실행 시간메모리
579179Trisanu_DasKutije (COCI21_kutije)C++17
70 / 70
147 ms9388 KiB
#include <bits/stdc++.h>
using namespace std;
 
int par[1001];
 
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;
}
 
int main() 
{
    ios_base::sync_with_stdio(false); cin.tie(NULL);
	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";
		}
	}
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...