Submission #418835

# Submission time Handle Problem Language Result Execution time Memory
418835 2021-06-06T03:42:37 Z JerryLiu06 Cave (IOI13_cave) C++17
0 / 100
188 ms 380 KB
#include <bits/stdc++.h>
#include "cave.h"
 
using namespace std;
 
using ll = long long;
using ld = long double;
using db = double;
using str = string;
 
using pi = pair<int, int>;
using pl = pair<ll, ll>;
using pd = pair<db, db>;
 
using vi = vector<int>;
using vb = vector<bool>;
using vl = vector<ll>;
using vd = vector<db>;
using vs = vector<str>;
using vpi = vector<pi>;
using vpl = vector<pl>;
using vpd = vector<pd>;
 
#define mp make_pair
#define f first
#define s second
 
#define sz(x) (int)(x).size()
#define bg(x) begin(x)
#define all(x) bg(x), end(x)
#define sor(x) sort(all(x))
#define ft front()
#define bk back()
#define pb push_back
#define pf push_front
 
#define lb lower_bound
#define ub upper_bound
 
#define FOR(i,a,b) for (int i = (a); i < (b); ++i)
#define F0R(i,a) FOR(i,0,a)
#define ROF(i,a,b) for (int i = (b)-1; i >= (a); --i)
#define R0F(i,a) ROF(i,0,a)
#define EACH(a,x) for (auto& a: x)
 
const int MOD = 1e9 + 7;
const int MX = 520;
const ll INF = 1e18;
 
void exploreCave(int N) {
    int cur[N]; bool fix[N]; int S[N], D[N];
 
    F0R(i, N) {
        if (tryCombination(cur) == i) {
            F0R(j, N) {
                if (!fix[j]) {
                    cur[j] = 1 - cur[j];
                }
            }
        }
        int low = 0; int high = N - 1;
 
        while (low < high) {
            int mid = (low + high) / 2;
 
            FOR(j, low, mid + 1) {
                if (!fix[j]) {
                    cur[j] = 1 - cur[j];
                }
            }
            if (tryCombination(cur) == i) {
                FOR(j, low, mid + 1) {
                    if (!fix[j]) {
                        cur[j] = 1 - cur[j];
                    }
                }
                high = mid;
            }
            else {
                low = mid + 1;
            }
        }
        D[low] = i;
        fix[low] = true;
    }
    answer(cur, D);
}

Compilation message

cave.cpp: In function 'void exploreCave(int)':
cave.cpp:51:34: warning: unused variable 'S' [-Wunused-variable]
   51 |     int cur[N]; bool fix[N]; int S[N], D[N];
      |                                  ^
# Verdict Execution time Memory Grader output
1 Incorrect 98 ms 372 KB Answer is wrong
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 188 ms 380 KB Answer is wrong
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 1 ms 204 KB Answer is wrong
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 1 ms 204 KB Answer is wrong
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 98 ms 372 KB Answer is wrong
2 Halted 0 ms 0 KB -