답안 #786792

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
786792 2023-07-18T12:51:17 Z borisAngelov Easter Eggs (info1cup17_eastereggs) C++17
87 / 100
19 ms 480 KB
#include "grader.h"
#include <bits/stdc++.h>

using namespace std;

const int maxn = 520;

int n;

vector<int> g[maxn];

vector<int> in_order;

void dfs(int node, int par)
{
    in_order.push_back(node);

    for (auto next_node : g[node])
    {
        if (next_node != par)
        {
            dfs(next_node, node);
        }
    }
}

int findEgg(int N, vector<pair<int, int>> edges)
{
    n = N;

    for (int i = 1; i <= n; ++i)
    {
        g[i].clear();
    }

    in_order.clear();

    for (int i = 0; i < edges.size(); ++i)
    {
        int x = edges[i].first;
        int y = edges[i].second;

        g[x].push_back(y);
        g[y].push_back(x);
    }

    dfs(1, -1);

    int l = 1;
    int r = n;

    vector<int> result(maxn, -1);

    while (l <= r)
    {
        int mid = (l + r) / 2;

        vector<int> ask;

        for (int i = 0; i < mid; ++i)
        {
            ask.push_back(in_order[i]);
        }

        int curr = -1;

        if (result[mid] != -1)
        {
            curr = result[mid];
        }
        else
        {
            curr = query(ask);
        }

        if (curr == 1)
        {
            r = mid - 1;
        }
        else
        {
            l = mid + 1;
        }
    }

    return in_order[l - 1];
}

Compilation message

eastereggs.cpp: In function 'int findEgg(int, std::vector<std::pair<int, int> >)':
eastereggs.cpp:38:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<std::pair<int, int> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   38 |     for (int i = 0; i < edges.size(); ++i)
      |                     ~~^~~~~~~~~~~~~~
# 결과 실행 시간 메모리 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 208 KB Number of queries: 5
4 Partially correct 1 ms 208 KB Number of queries: 5
# 결과 실행 시간 메모리 Grader output
1 Correct 4 ms 336 KB Number of queries: 9
2 Correct 10 ms 340 KB Number of queries: 9
3 Correct 14 ms 360 KB Number of queries: 9
4 Correct 13 ms 352 KB Number of queries: 9
# 결과 실행 시간 메모리 Grader output
1 Partially correct 19 ms 336 KB Number of queries: 10
2 Correct 14 ms 384 KB Number of queries: 9
3 Partially correct 13 ms 480 KB Number of queries: 10
4 Partially correct 12 ms 360 KB Number of queries: 10