Submission #1239561

#TimeUsernameProblemLanguageResultExecution timeMemory
1239561matsakyannnThousands Islands (IOI22_islands)C++20
0 / 100
22 ms10692 KiB
#include <bits/stdc++.h>
#include <variant>
using namespace std;

#ifndef ONLINE_JUDGE
#define dbg(x) cerr << #x << ' '; print(x); cerr << endl;
#else
#define dbg(x)
#endif 

void print(int x) {cerr << x;}
void print(long long x) {cerr << x;}
void print(char x) {cerr << x;}
void print(string x) {cerr << x;}
void print(double x) {cerr << x;}
template <class T> void print(vector <T> x);
template <class T> void print(set <T> x);
template <class T> void print(multiset <T> x);
template <class T, class V> void print(pair <T, V> x);
template <class T, class V> void print(map <T, V> x);
template <class T> void print(vector <T> x) {cerr << "[ "; for(auto i : x) {print(i); cerr << ' ';} cerr << "]";}
template <class T> void print(set <T> x) {cerr << "[ "; for(auto i : x) {print(i); cerr << ' ';} cerr << "]";}
template <class T> void print(multiset <T> x) {cerr << "[ "; for(auto i : x) {print(i); cerr << ' ';} cerr << "]";}
template <class T, class V> void print(pair <T, V> x) {cerr << "{"; print(x.first); cerr << ' '; print(x.second); cerr << "}";}
template <class T, class V> void print(map <T, V> x) {cerr << "[ "; for(auto i : x) {print(i); cerr << ' ';} cerr << "]";}

#define ll long long
#define pb push_back
#define ppb pop_back
#define PII pair <int, int>
#define PLL pair <ll, ll>
#define all(v) (v).begin(), (v).end()
#define OK cerr << "OK\n";
#define MP make_pair

const int N0 = 1005, M0 = 2e5 + 5;
int n, m, kayak[N0][N0];
vector <int> u, v;
vector <int> G[N0];
int par[N0];

variant <bool, vector <int>> find_journey(int N, int M, vector<int> U, vector<int> V){
    n = N, m = M, u = U, v = V;
    for(int i = 0; i < M; i++){
        G[u[i]].pb(v[i]);
        G[v[i]].pb(u[i]);
        kayak[u[i]][v[i]] = i;
    }
    if(G[0].size() >= 2) return true;
    int curr = G[0].front(), parent = 0;
    while(G[curr].size() > 1 && G[curr].size() < 3){
        for(int i : G[curr]){
            if(i == parent) continue;
            parent = curr;
            curr = i;
            break;
        }
    }
    return G[curr].size() >= 3;
}
#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...