제출 #372403

#제출 시각아이디문제언어결과실행 시간메모리
372403amano_hina동굴 (IOI13_cave)C++14
100 / 100
227 ms640 KiB
#include "cave.h"

void exploreCave(int n) {
    int a[n],b[n],f[n],mid,ans,ans2,have[n],l,r;
    for(int i=0;i<n;i++)
    {
        f[i]=i;
        a[i]=0;
    }

    for(int i=0;i<n;i++)
    {
        ans=tryCombination(a);
        l=0;
        r=n-1-i;
        while(l<r)
        {
            mid=(l+r)/2;
            for(int j=l;j<=mid;j++)
            {
                a[f[j]]=1-a[f[j]];
            }
            ans2=tryCombination(a);
            if(ans==i)
            {
                if(ans==ans2)
                {
                    l=mid+1;
                }
                else
                {
                    r=mid;
                }
            }
            else
            {
                if(ans2==i)
                {
                    r=mid;
                }
                else
                {
                    l=mid+1;
                }
            }
            
            ans=ans2;

        }
        if(ans==i)
        {
            a[f[l]]=1-a[f[l]];
            
        }
        b[f[l]]=i;
        for(int j=l;j<n-1-i;j++)
        {
            f[j]=f[j+1];
        }


    }
    answer(a,b);

    /* ... */
}

컴파일 시 표준 에러 (stderr) 메시지

cave.cpp: In function 'void exploreCave(int)':
cave.cpp:4:37: warning: unused variable 'have' [-Wunused-variable]
    4 |     int a[n],b[n],f[n],mid,ans,ans2,have[n],l,r;
      |                                     ^~~~
#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...