답안 #525620

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
525620 2022-02-12T06:55:46 Z tudor Easter Eggs (info1cup17_eastereggs) C++17
40 / 100
23 ms 472 KB
#include <iostream>
#include <vector>
#include "grader.h"
using namespace std;
const int nmax = 512;
int n;
vector < pair < int, int > > bridges;
vector < int > g[nmax + 1];
vector < int > ord;
vector < int > q;
void dfs ( int node, int parent ) {
    ord.push_back ( node );
    for ( int i = 0; i < g[node].size (); i++ )
        if ( g[node][i] != parent )
            dfs ( g[node][i], node );
}
/**
int query ( vector < int > islands ) {
    int r;
    cin >> r;
    return r;
} **/

int findEgg ( int n, vector < pair < int, int > > bridges ) {
    ord.clear ();
    for ( int i = 1; i <= n; i++ )
        g[i].clear ();
    for ( int i = 0; i < n - 1; i++ ) {
        g[bridges[i].first].push_back ( bridges[i].second );
        g[bridges[i].second].push_back ( bridges[i].first );
    }
    dfs ( 1, 0 );
    int st = 1, dr = n - 1, mij, poz = n;
    while ( st <= dr ) {
        int mij = st + ( dr - st ) / 2;
        q.clear ();
        for ( int i = 0; i <= mij; i++ )
            q.push_back ( ord[i] );
        if ( query ( q ) == 1 )
            dr = mij - 1, poz = mij;
        else
            st = mij + 1;
    }
    return ord[poz];
}
/*
int main() {
    cin >> n;
    bridges.resize ( n );
    for ( int i = 0; i < n - 1; i++ )
        cin >> bridges[i].first >> bridges[i].second;
     cout << findEgg ( n, bridges );

    return 0;
} */

Compilation message

eastereggs.cpp: In function 'void dfs(int, int)':
eastereggs.cpp:13:24: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   13 |     for ( int i = 0; i < g[node].size (); i++ )
      |                      ~~^~~~~~~~~~~~~~~~~
eastereggs.cpp: In function 'int findEgg(int, std::vector<std::pair<int, int> >)':
eastereggs.cpp:33:29: warning: unused variable 'mij' [-Wunused-variable]
   33 |     int st = 1, dr = n - 1, mij, poz = n;
      |                             ^~~
# 결과 실행 시간 메모리 Grader output
1 Runtime error 1 ms 456 KB Execution killed with signal 6
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 7 ms 328 KB Number of queries: 8
2 Correct 12 ms 324 KB Number of queries: 9
3 Correct 23 ms 344 KB Number of queries: 9
4 Correct 14 ms 348 KB Number of queries: 9
# 결과 실행 시간 메모리 Grader output
1 Correct 18 ms 356 KB Number of queries: 9
2 Correct 12 ms 328 KB Number of queries: 9
3 Runtime error 6 ms 472 KB Execution killed with signal 6
4 Halted 0 ms 0 KB -