이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
#include <iostream>
#include <cave.h>
using namespace std;
int tryCombination(int S[]);
void answer(int S[], int D[]);
void solveSubtask23(int N)
{
int q[N] = {};
int ans[N] = {};
int s = tryCombination(q);
int t=-1;
while (s!=-1)
{
for (int i=0; i<N; i++)
{
if (q[i] != 1)
{
q[i] = 1;
t = tryCombination(q);
if (t==-1 or t>s)
{
ans[i] = s;
s=t;
break;
}
q[i] = 0;
}
}
}
q[0] = !q[0];
ans[0] = tryCombination(q);
for (int i=1; i<N; i++)
{
q[i-1] = !q[i-1];
q[i] = !q[i];
ans[i] = tryCombination(q);
}
q[N-1] = !q[N-1];
answer(q,ans);
}
void solveSubtask1(int N)
{
int q[N] = {};
int ans = tryCombination(q);
int c = 0;
while (ans!=-1)
{
if (c>N) solveSubtask23(N);
q[ans] = 1;
ans = tryCombination(q);
c++;
}
for (int i=0; i<N; i++){
q[i] = !q[i];
if (tryCombination(q) != i) solveSubtask23(N);
q[i] = !q[i];
}
int t[N];
for (int i=0; i<N; i++)
{
t[i] = i;
}
answer(q, t);
}
void exploreCave(int N)
{
solveSubtask1(N);
}
# | 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... |