답안 #660266

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
660266 2022-11-21T11:31:16 Z a_aguilo Easter Eggs (info1cup17_eastereggs) C++14
87 / 100
23 ms 632 KB
#include <bits/stdc++.h>
#include "grader.h"

using namespace std;

vector<int> order;
vector<vector<int>> listaAdy;

void dfs(int nodo, int padre){
    order.push_back(nodo);
    for(int vecino: listaAdy[nodo]){
        if(vecino == padre) continue;
        dfs(vecino, nodo);
    }
}

int findEgg (int N, vector < pair < int, int > > bridges)
{
    listaAdy = vector<vector<int>>(N+1);
    for(pair<int, int> bridge: bridges){
        listaAdy[bridge.second].push_back(bridge.first);
        listaAdy[bridge.first].push_back(bridge.second);
    }
    dfs(1, -1);
    int ans = 0;
    int lo = 1; int hi = N;
    vector<int> ask((N)/2);
    for(int i = 0; i < (N)/2; ++i) ask[i] = order[i];
    while(hi >= lo){
        int mid = lo + (hi - lo)/2;
        while(ask.size() < (mid)){
            ask.push_back(order[ask.size()]);
        }
        while(ask.size() > (mid)) ask.pop_back();
        if(query(ask)){
            hi = mid-1;
            ans = mid;
        }
        else{
            lo = mid+1;
        }
    }
    return order[ans-1];
}

Compilation message

eastereggs.cpp: In function 'int findEgg(int, std::vector<std::pair<int, int> >)':
eastereggs.cpp:31:26: warning: comparison of integer expressions of different signedness: 'std::vector<int>::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
   31 |         while(ask.size() < (mid)){
      |               ~~~~~~~~~~~^~~~~~~
eastereggs.cpp:34:26: warning: comparison of integer expressions of different signedness: 'std::vector<int>::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
   34 |         while(ask.size() > (mid)) ask.pop_back();
      |               ~~~~~~~~~~~^~~~~~~
# 결과 실행 시간 메모리 Grader output
1 Partially correct 1 ms 208 KB Number of queries: 5
2 Partially correct 1 ms 208 KB Number of queries: 5
3 Partially correct 1 ms 300 KB Number of queries: 5
4 Partially correct 1 ms 208 KB Number of queries: 5
# 결과 실행 시간 메모리 Grader output
1 Correct 6 ms 368 KB Number of queries: 9
2 Correct 12 ms 520 KB Number of queries: 9
3 Correct 23 ms 632 KB Number of queries: 9
4 Correct 16 ms 528 KB Number of queries: 9
# 결과 실행 시간 메모리 Grader output
1 Partially correct 19 ms 576 KB Number of queries: 10
2 Correct 14 ms 464 KB Number of queries: 9
3 Partially correct 15 ms 592 KB Number of queries: 10
4 Partially correct 17 ms 564 KB Number of queries: 10