Submission #308103

#TimeUsernameProblemLanguageResultExecution timeMemory
308103daniel920712Cave (IOI13_cave)C++14
51 / 100
416 ms888 KiB
#include "cave.h"
#include <set>
#include <vector>
#include <stdio.h>
using namespace std;
set < int > all;
vector < int > how;
int have[5005]={0};
int ans[5005];
void F(int l,int r,int here)
{
    int t,x,y,t2,i;
    if(l==r)
    {
        have[how[l]]=0;

        t=tryCombination(have);
        if(t==here) have[how[l]]=1;
        else have[how[l]]=0;


        ans[how[l]]=here;
        all.erase(how[l]);
        return;
    }

    x=(l+r)/2;
    for(i=l;i<=r;i++) have[how[i]]=0;
    t=tryCombination(have);
    for(i=l;i<=x;i++) have[how[i]]=1;
    t2=tryCombination(have);


    if(t==here&&t2!=here||t!=here&&t2==here) F(l,x,here);
    else F(x+1,r,here);

}
void exploreCave(int N)
{
    int i;
    for(i=0;i<N;i++) all.insert(i);
    for(i=0;i<N;i++)
    {
        how.clear();
        for(auto j:all) how.push_back(j);
        F(0,N-i-1,i);

    }
    answer(have,ans);
}

Compilation message (stderr)

cave.cpp: In function 'void F(int, int, int)':
cave.cpp:34:15: warning: suggest parentheses around '&&' within '||' [-Wparentheses]
   34 |     if(t==here&&t2!=here||t!=here&&t2==here) F(l,x,here);
      |        ~~~~~~~^~~~~~~~~~
cave.cpp:12:13: warning: unused variable 'y' [-Wunused-variable]
   12 |     int t,x,y,t2,i;
      |             ^
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...