Submission #1008429

#TimeUsernameProblemLanguageResultExecution timeMemory
1008429VMaksimoski008동굴 (IOI13_cave)C++17
12 / 100
31 ms752 KiB
#include "cave.h"
#include <bits/stdc++.h>
using namespace std;
 
void exploreCave(int n) {
    int S[n], D[n], vis[n];
    for(int i=0; i<n; i++) S[i] = D[i] = 1, vis[i] = 0;
 
    //find swicth for door i
    for(int i=0; i<n; i++) {
        int S2[n];
        for(int j=0; j<n; j++) S2[j] = S[j];

        for(int j=0; j<n; j++) {
            if(vis[j]) continue;
            int old = S2[j];
            
            S2[j] = 0;
            int res1 = tryCombination(S2);
            // cout << i << " " << j << ": ";
            // for(int k=0; k<n; k++) cout << S2[k];
            S2[j] = 1;
            int res2 = tryCombination(S2);
            // cout << i << " " << j << ": ";
            // for(int k=0; k<n; k++) cout << S2[k];
            // cout << '\n';

            if(res1 > i || res1 == -1) {
                D[j] = i;
                S[j] = 0;
                vis[j] = 1;
                // cout << "vrata " << i << " so switch " << j << "(" << 0 << ")\n";
                break;
            } else if(res2 > i || res2 == -1) {
                D[j] = i;
                S[j] = 1;
                vis[j] = 1;
                // cout << "vrata " << i << " so switch " << j << "(" << 1 << ")\n";
                break;
            }

            S2[j] = (old ^ 1);
        }
    }
 
    answer(S, 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...