제출 #1189824

#제출 시각아이디문제언어결과실행 시간메모리
1189824Panda50OEaster Eggs (info1cup17_eastereggs)C++20
0 / 100
0 ms476 KiB
#include <bits/stdc++.h>
#include "grader.h"
using namespace std;

const int mxN = 525;
vector<int> adj[mxN];
vector<int> sub[mxN];

void dfs(int u, int p) {
    for(auto v : adj[u]) {
        if(v == p) continue;
        dfs(v, u);
    }
    // sub[u].emplace_back(v);
    for(auto node : adj[u]) {
        sub[u].emplace_back(node);
    }
    sub[u].emplace_back(u);
}

int ask(int u) {
    int cnt = 0;
    if(adj[u].size() == 1) return u;
    for(auto v : adj[u]) {
        if(query(sub[v])) {
            ++cnt;
            return ask(v);
        }
    }
    // if(cnt == 0) {
        return u;
    // }
}

int findEgg (int N, vector < pair < int, int > > bridges)
{
    // if (query ({1})) return 1;
    for(int i = 0; i < N; ++i) {
        auto [a,b] = bridges[i];
        adj[a].emplace_back(b);
        adj[b].emplace_back(a);
    }

    // int ans = -1;
    int ans = ask(1);
    
    for(int i = 1; i <= 512; ++i) {
        adj[i].clear();
        sub[i].clear();
    }
    return ans;
    // for(auto v : adj[u]) {
        // query(sub[v]);
    // }
    // let 1 is the Root
    // dfs(1,-1);

    // for(auto v : adj[1]) {

    // }

    return N;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...