Submission #1145848

#TimeUsernameProblemLanguageResultExecution timeMemory
1145848SimonaIvanovaEaster Eggs (info1cup17_eastereggs)C++20
0 / 100
1 ms444 KiB
#include <iostream>
#include <cmath>
#include <vector>
#include <algorithm>
#include <iomanip>
#include <string>
#include <cstring>
#include <stack>
#include <queue>
#include <deque>
#include <set>
#include <map>
#include "grader.h"
#define endl '\n'
using namespace std;
int query(vector < int > islands);
vector <int> v1[600];
int n;
/*void fill_v1(int N, vector < pair < int, int > > bridges)
{
    n = N;
    int m = bridges.size();
    for(int i = 0; i < 600; i++)
    {
        v1[i].clear();
    }
    for(int i = 0; i < m; i++)
    {
        v1[bridges[i].first].push_back(bridges[i].second);
        v1[bridges[i].second].push_back(bridges[i].first);
    }
}
vector <int> q;
int used[600];
void dfs(int beg)
{
    used[beg] = 1;
    q.push_back(beg);
    int sz = v1[beg].size();
    for(int i = 0; i < sz; i++)
    {
        if(!used[v1[beg][i]])
        {
            dfs(v1[beg][i]);
        }
    }
}
int ans;
void dnc(int beg)
{
    int sz = v1[beg].size();
    for(int i = 0; i < sz; i++)
    {
        memset(used, 0, sizeof(used));
        q.clear();
        dfs(v1[beg][i]);
        if(i == 0)
        {
            q.push_back(beg);
        }
        if(query(q) == 1)
        {
            if(q.size() == 1)
            {
                ans = q[0];
                return;
            }
            dnc(v1[beg][i]);
            return;
        }
    }
}*/
int used[600];
int findEgg(int N, vector < pair < int, int > > bridges)
{
    /*fill_v1(N, bridges);
    dnc(1);
    return ans;*/
    memset(used, 0, sizeof(used));
    int m = bridges.size();
    for(int i = 0; i < m; i++)
    {
        vector <int> v2 = {bridges[i].first, bridges[i].second};
        if(query(v2) == 1)
        {
            if(!used[v2[0]])
            {
                if(query({v2[0]}) == 1)
                    return v2[0];
                else used[v2[0]] = 1;
            }
            else
            {
                if(!used[v2[1]])
                {
                    if(query({v2[1]}) == 1)
                    return v2[1];
                else used[v2[1]] = 1;
                }
            }
        }
        else
        {
            used[v2[0]] = used[v2[1]] = 1;
        }
    }
}

Compilation message (stderr)

eastereggs.cpp: In function 'int findEgg(int, std::vector<std::pair<int, int> >)':
eastereggs.cpp:107:1: warning: control reaches end of non-void function [-Wreturn-type]
  107 | }
      | ^
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...