제출 #764278

#제출 시각아이디문제언어결과실행 시간메모리
764278raysh07수천개의 섬 (IOI22_islands)C++17
1.75 / 100
24 ms6612 KiB
#include "islands.h"
#include <variant>
#include <bits/stdc++.h>
using namespace std;

const int N = 1e5 + 69;
int deg[N];
bool vis[N];
vector <int> adj[N];
int n;

int dfs(int u){
    vis[u] = true;
    int found = -1;
    if (deg[u] >= 2) found = u;
    for (int v : adj[u]){
        if (!vis[v]){
            found = max(found, dfs(v));
        }
    }
    
    return found;
}

variant<bool, vector<int>> find_journey(int nn, int m, vector<int> u, vector<int> v) {
    n = nn;
    for (int i = 0; i < m; i+=2){
        adj[u[i]].push_back(v[i]);
        adj[v[i]].push_back(u[i]);
        deg[u[i]]++;
        deg[v[i]]++;
    }
    
    int found = dfs(0);
    if (found == -1) return false;
    else return true;
}
#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...