Submission #684392

#TimeUsernameProblemLanguageResultExecution timeMemory
684392doniKutije (COCI21_kutije)C++14
70 / 70
433 ms25312 KiB
#include<bits/stdc++.h>
using namespace std;
#define ll long long
#define fi first
#define se second

ll parent[1001];
ll r[1001];
ll z=0;
vector<string>s;

void make_set(ll v) {
	parent[v] = v;
	r[v] = z;
}
 
ll find_set(ll v) {
	if (v == parent[v])
		return v;
	return parent[v] = find_set (parent[v]);
}
 
void union_sets(ll a, ll b) {
	a = find_set (a);
	b = find_set (b);
	if (a != b) {
		if (r[a] < r[b])
			swap (a, b);
		parent[b] = a;
		if (r[a] == r[b])
			++r[a];
	}
}

void bf(){
    ll n,a,b,m,q;
    cin>>n>>m>>q;
    for(ll i=1;i<=n;i++){
    	make_set(i);
	}
    for(ll mm=0;mm<m;mm++){
	    for(ll i=0;i<n;i++){
	    	cin>>a;
	    	union_sets(a,i+1);
		}
	}
	for(ll i=0;i<q;i++){
		cin>>a>>b;
		if(find_set(a)==find_set(b)){
			s.push_back("DA");
		}
		else{
			s.push_back("NE");
		}
	}
	for(int i=0;i<s.size();i++){
		cout<<s[i]<<"\n";
	}
}

/*
 
*/

int main(){
//	ll t;cin>>t;while(t--)
		bf();
}

Compilation message (stderr)

Main.cpp: In function 'void bf()':
Main.cpp:56:15: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<std::__cxx11::basic_string<char> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   56 |  for(int i=0;i<s.size();i++){
      |              ~^~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...