#include "grader.h"
#include <iostream>
#include <vector>
using namespace std;
int findEgg(int N, vector < pair < int, int > > bridges)
{
int used[1024];
fill(used,used+1000,0);
/*for(auto c:bridges)
{
vector <int> k;
k.push_back(c.first);
k.push_back(c.second);
if(used[k[0]]==0||used[k[1]]==0)
{
bool l=query(k);
if(l==0)
{
used[c.first]=1;
used[c.second]=1;
}
}
}*/
/*for(auto c:bridges)
{
vector <int> q;
q.push_back(c.first);
q.push_back(c.second);
bool l=query(q);
if(used[c.first]==1||used[c.second]==1)continue;
if(l==1)
{
vector <int> q1,q2;
q1.push_back(c.first);
q2.push_back(c.second);
l=query(q1);
if(l)
{
return q1[0];
}
else return q2[0];
}
else
{
used[c.first]=1;
used[c.second]=1;
}
}
for(auto c:bridges)
{
bool l;
if(used[c.first]==1&&used[c.second]==0)
{
vector<int>q;
q.push_back(c.second);
l=query(q);
if(l)
{
return q[0];
}
else used[c.second]=1;
}
else if(used[c.first]==0&&used[c.second]==1)
{
vector<int>q;
q.push_back(c.first);
l=query(q);
if(l)
{
return q[0];
}
else used[c.first]=1;
}
}*/
vector<int>q;
q.push_back(bridges[0].first);
q.push_back(bridges[0].second);
bool l=query(q);
if(l==0)
{
used[bridges[0].first]=1;
used[bridges[0].second]=1;
}
else
{
q.pop_back();
l=query(q);
if(l)return bridges[0].first;
else return bridges[0].second;
}
while(q.size())q.pop_back();
q.push_back(bridges[1].first);
q.push_back(bridges[1].second);
l=query(q);
if(l==0)
{
used[bridges[1].first]=1;
used[bridges[1].second]=1;
}
else
{
q.pop_back();
l=query(q);
if(l)return bridges[1].first;
else return bridges[1].second;
}
for(auto c:bridges)
{
vector <int> q;
q.push_back(c.first);
q.push_back(c.second);
bool l=query(q);
if(used[c.first]==1||used[c.second]==1)continue;
if(l==1)
{
vector <int> q1,q2;
q1.push_back(c.first);
q2.push_back(c.second);
l=query(q1);
if(l)
{
return q1[0];
}
else return q2[0];
}
else
{
used[c.first]=1;
used[c.second]=1;
}
}
for(int i=1;i<=N;i++)
{
if(used[i]==1)continue;
vector <int> k;
k.push_back(i);
bool l=query(k);
if(l)
{
return i;
}
}
return 1;
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |