이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
#include <bits/stdc++.h>
#include <cave.h>
using namespace std;
#define designed ios_base::sync_with_stdio(0);
#define by cin.tie(0);
#define AndreasK cout.tie(0);
//#define int long long
#define ii pair <int, int>
#define vi vector <int>
#define iii pair <int, ii>
#define vii vector <ii>
#define vc vector <char>
#define vb vector <bool>
/*int n;
int tryCombination(int a[]) {
for (int c = 0; c < n; c++)
cout << a[c] << ' ';
cout << '\n';
int x;
cin >> x;
return x;
}
void answer(int a[], int b[]) {
for (int c = 0; c < n; c++)
cout << a[c] << ' ';
cout << '\n';
for (int c = 0; c < n; c++)
cout << b[c] << ' ';
cout << '\n';
}*/
void exploreCave(int n) {
int a[n] = {}, b[n];
stack <int> s;
int x = tryCombination(a);
if (x == -1)
x = n;
for (int c = 0; c < n; c++) {
int prevx = x;
a[c] ^= 1;
x = tryCombination(a);
if (x == -1)
x = n;
if (x > prevx) {
while (!s.empty()) {
a[s.top()] ^= 1;
prevx = x;
x = tryCombination(a);
if (x == -1)
x = n;
if (x <= prevx) {
a[s.top()] ^= 1;
break;
}
else {
s.pop();
}
}
}
else if (x == prevx) {
s.push(c);
a[c] ^= 1;
}
else {
a[c] ^= 1;
}
}
for (int c = 0; c < n; c++) {
a[c] ^= 1;
x = tryCombination(a);
a[c] ^= 1;
b[c] = x;
}
answer(a, b);
}
/*int32_t main() {
designed by AndreasK
cin >> n;
exploreCave(n);
return 0;
}*/
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |