Submission #685361

#TimeUsernameProblemLanguageResultExecution timeMemory
685361irmuun수천개의 섬 (IOI22_islands)C++17
10 / 100
34 ms4652 KiB
#include<bits/stdc++.h>
#include "islands.h"
using namespace std;
#define pb push_back
variant<bool, vector<int>> find_journey(int N, int M, vector<int> U, vector<int> V){
	if(N==2){
		vector<int>v0,v1;
		for(int i=0;i<M;i++){
			if(U[i]==0){
				v0.pb(i);
			}
			else{
				v1.pb(i);
			}
		}
		if(v0.size()<2||v1.size()<1){
			return false;
		}
		return vector<int>{v0[0],v1[0],v0[1],v0[0],v1[0],v0[1]};
	}
	if(N<=1000&&M%2==0){
		int p[N+5][N+5];
		for(int i=0;i<N;i++){
			for(int j=0;j<N;j++){
				p[i][j]=-1;
			}
		}
		vector<int>vec;
		for(int i=0;i<M;i++){
			p[U[i]][V[i]]=i;
		}
		for(int i=1;i<N;i++){
			if(p[0][i]>-1&&p[i][0]>-1){
				vec.pb(p[0][i]);
				vec.pb(p[i][0]);
			}
		}
		if(vec.size()<4){
			return false;
		}
		return vector<int>{vec[0],vec[1],vec[2],vec[3],vec[1],vec[0],vec[3],vec[2]};
	}
	return false;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...