# | TimeUTC-0 | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
1149599 | byunjaewoo | Thousands Islands (IOI22_islands) | C++20 | 16 ms | 3144 KiB |
#include "islands.h"
#include <bits/stdc++.h>
using namespace std;
variant<bool, vector<int>> find_journey(int N, int M, vector<int> U, vector<int> V) {
int a=-1, b=-1, c=-1, d=-1;
for(int i=0; i<M; i+=2) {
if(U[i]==0) {
if(a<0) a=i, c=i+1;
else if(b<0) b=i, d=i+1;
}
if(V[i]==0) {
if(a<0) a=i+1, c=i;
else if(b<0) b=i+1, d=i;
}
}
if(b>=0) {
vector<int> ret;
ret.push_back(a), ret.push_back(c), ret.push_back(b), ret.push_back(d);
ret.push_back(c), ret.push_back(a), ret.push_back(d), ret.push_back(b);
return ret;
}
int prv[1010], pw[1010];
for(int i=0; i<N; i++) prv[i]=-1, pw[i]=-1;
vector<pair<int, int>> adj[1010];
queue<int> q;
for(int i=0; i<M; i++) adj[U[i]].push_back({V[i], i});
prv[0]=0, q.push(0);
while(!q.empty()) {
int curr=q.front(); q.pop();
# | 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... |