제출 #768718

#제출 시각아이디문제언어결과실행 시간메모리
768718LudisseyCave (IOI13_cave)C++14
0 / 100
36 ms408 KiB
#include "cave.h"
#include <iostream>
#include <string>
#include <set>
#include <map>
#include <cstring>
#include <unordered_map>
#include <vector>
#include <fstream>
#include <bitset>
#include <tuple>
#include <cmath>
#include <cstdint>
#include <stack>
#include <cassert>
#include <cstdio>
#include <queue>
#include <iterator>
#include <iomanip>
#include <algorithm>
#include <sstream>

using namespace std;

int S[100000] = {0};
int D[100000] = { 0 };

void exploreCave(int N) {
    int crack = 0;
    for (int i = 0; i < N; i++)
    {
        S[i] = 1;
        D[i] = i;
    }
    /* while (crack < N) {
        S[crack] = 1 - S[crack];
        crack = tryCombination(S);
        if (crack == -1) break;
    }*/
    vector<bool> visited(N);
    while (crack < N) {
        for (int i = 0; i < N; i++)
        {
            if (visited[i]) continue;
            S[i] = 0;
            int res = tryCombination(S);
            if (res > crack || res==-1) {
                visited[i] = true;
                D[crack] = i;
                crack = res;
                break;
            }
            S[i] = 1;
        }
        if (crack == -1) break;
    }
    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...