#include "islands.h"
#include <variant>
#include <vector>
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){
		// subtask 1
		vector<int> A, B;
		for(int i=0; i<M; i++){
			if(U[i]==0 && V[i]==1){
				A.pb(i);
			} else{
				B.pb(i);
			}
		}
		if(A.size()>1 && B.size()>0){
			vector<int> answer = {A[0], B[0], A[1], A[0], B[0], A[1]};
			return answer;
		} else{
			return false;
		}
	}
	else{
		// subtask 2 (5 marks)
		// N>2 guaranteed, so it's definitely possible
		int AB, BA, AC, CA;
		for(int i=0; i<M; i++){
			if(U[i]==0){
				if(V[i]==1){
					AB=i;
				} else if(V[i]==2){
					AC=i;
				}
			} else if(V[i]==0){
				if(U[i]==1){
					BA=i;
				} else if(U[i]==2){
					CA=i;
				}
			}
		}
		vector<int> answer = {AB,BA,AC,CA,BA,AB,CA,AC};
		return answer;
	}
	return true;	
}
| # | 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... | 
| # | Verdict | Execution time | Memory | Grader output | 
|---|
| Fetching results... |