제출 #1287976

#제출 시각아이디문제언어결과실행 시간메모리
1287976eri16동굴 (IOI13_cave)C++20
46 / 100
19 ms528 KiB
#include <bits/stdc++.h>
#include "cave.h"
using namespace std;


void exploreCave(int n){
    
    int d[n],v[n];
    
    for (int i=0; i<n; i++){
        v[i]=0;
    }

    int ans,cr1,cr2;
    
    queue <int> q;
    
    for (int i=0; i<n; i++){
        q.push(i);
    }
    int tt=0;
    while (q.size()>0 && tt<=80000){
        tt++;
        cr1=tryCombination(v);    
    
        if (cr1==(-1)){
            
            while (q.size()>0){
                int i=q.front();
                q.pop();
        
                v[i]=1-v[i];
                ans=tryCombination(v);
                v[i]=1-v[i];
                d[i]=ans;
            }             
        }
            
        
        
        for (int i=0; i<q.size(); i++){
            int tm=q.front();
            q.pop();
            v[tm]=1;
            cr2=tryCombination(v);
            if (cr2==cr1){v[tm]=0;q.push(tm);}
            else{
                if (cr1<cr2 || cr2==-1){d[tm]=cr1;break;}
                
                if (cr2<cr1){v[tm]=0;d[tm]=cr2;break;}

            }
        }
    
    }
    answer(v,d);
}
#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...