Submission #1359444

#TimeUsernameProblemLanguageResultExecution timeMemory
1359444opeleklanosThousands Islands (IOI22_islands)C++20
9.10 / 100
13 ms4124 KiB
#include <iostream>
#include <vector>
#include <variant>
using namespace std;

vector<vector<int>> adj;

variant<bool, vector<int>> find_journey(int N, int M, vector<int> U, vector<int> V){

    adj.assign(N, {});
    for(int i = 0; i<M; i++){
        adj[U[i]].push_back(V[i]);
    }
    if(adj[0].size() == 0) return (bool)0;
    if(adj[0].size() > 1) return (bool)1;

    int curr = adj[0][0];
    int prev = 0;
    while(adj[curr].size() <= 2){
        if(adj[curr].size() == 1) return (bool)0;
        if(adj[curr][1] != prev){
            prev = curr;
            curr = adj[curr][1];
            continue;
        }
        prev = curr;
        curr = adj[curr][0];
    }

    return (bool)1;

}
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...