Submission #1353396

#TimeUsernameProblemLanguageResultExecution timeMemory
1353396putuputuEaster Eggs (info1cup17_eastereggs)C++20
87 / 100
6 ms804 KiB
#include <bits/stdc++.h>
#include "grader.h"
using namespace std;
const int n=513;
vector<int> ans;
vector<int> adj[n];
bool vis[n];
void dfs(int vv){
    ans.push_back(vv+1);
    vis[vv]=true;
    for(auto u : adj[vv]){
        if(vis[u]==false){
            dfs(u);
        }
    }
}
int findEgg (int N, vector < pair < int, int > > bridges)
{
    for(int i=0; i<N-1; i++){
        int x=bridges[i].first;
        int y=bridges[i].second;
        x--;
        y--;
        adj[x].push_back(y);
        adj[y].push_back(x);
    }
    dfs(0);
    int anss=-1;
    int l=0, r=N-1;
    while(l<=r){
        int m=(l+r)/2;
        vector<int> v;
        v.assign(ans.begin(), ans.begin()+m+1);
        if(query(v)==1){
            r=m-1;
            anss=m;
        }else{
            l=m+1;
        }
    }
    if(anss==-1){
      anss=N-1;
    }
    return ans[anss];
}
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...