Submission #623856

#TimeUsernameProblemLanguageResultExecution timeMemory
623856qwerasdfzxcl동굴 (IOI13_cave)C++14
63 / 100
2092 ms572 KiB
#include <bits/stdc++.h>
#include "cave.h"

using namespace std;
typedef long long ll;

int a[5050], ans1[5050], ans2[5050], used[5050], rans[5050];

void exploreCave(int n) {
    for (int i=0;i<n;i++){
        int ret = tryCombination(a);
        if (ret > i || ret==-1) ans1[i] = 0;
        else ans1[i] = 1;
        for (int j=0;j<13;j++){
            for (int k=0;k<n;k++) if (!used[k] && (k&(1<<j))){
                a[k] = 1;
            }

            ret = tryCombination(a);
            if (ret==i) ans2[i] |= (1<<j);

            for (int k=0;k<n;k++) if (!used[k] && (k&(1<<j))){
                a[k] = 0;
            }
        }

        if (ans1[i]) ans2[i] ^= (1<<13)-1;
        a[ans2[i]] = ans1[i];
        used[ans2[i]] = 1;
        rans[ans2[i]] = i;

    }

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