This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include "cave.h"
void exploreCave(int n)
{
int est[n],ord[n],resp[n];
for(int i=0;i<n;i++)
{
est[i]=0;
ord[i]=-1;
resp[i]=0;
}
for(int at=0;at<n;at++)
{
int ini=0,fim=n-1;
int k=tryCombination(est);
if(k>at)
{
for(int i=ini;i<=fim;i++)if(ord[i]==-1)est[i]=1-est[i];
}
while(ini<fim)
{
if(k>at || k==-1)
{
for(int i=ini;i<=fim;i++)if(ord[i]==-1)est[i]=1-est[i];
}
int m=(ini+fim)/2;
for(int i=ini;i<=m;i++)if(ord[i]==-1)est[i]=1-est[i];
k=tryCombination(est);
if(k>at || k==-1)fim=m;
else ini=m+1;
if(k<=at && k>=0)
{
for(int i=ini;i<=fim;i++)if(ord[i]==-1)est[i]=1-est[i];
k=at+1;
}
}
ord[ini]=at;
resp[ini]=est[ini];
}
answer(resp,ord);
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |