# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
72001 | BBBSNG (#118) | 마법 다우징 (FXCUP3_magic) | C++17 | 4 ms | 376 KiB |
This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include "dowsing.h"
#include <bits/stdc++.h>
using namespace std;
int A[111], B[111], P[111], Q[111];
void FindTreasure(int N)
{
int i, f1, f2, a, b, x, y, x1, x2, y1, y2, k;
if(N < 75){
for(i=1; i<=N; i++){
A[i] = Detect(i, 1);
if(A[i] != A[1]) x = i;
}
for(i=1; i<=N; i++){
B[i] = Detect(1, i);
if(B[i] != A[1]) y = i;
}
if(A[1] != A[2] && A[1] != A[3]) x = 1;
if(B[1] != B[2] && B[1] != B[3]) y = 1;
Report(x, y);
return;
}
srand(time(0));
for(i=0; i<N; i++){
P[i] = i + 1;
Q[i] = i + 1;
}
for(i=1; i<=10000; i++){
a = rand() % N;
b = rand() % N;
swap(P[a], P[b]);
a = rand() % N;
b = rand() % N;
swap(Q[a], Q[b]);
}
x1 = -1;
for(i=0; i<N; i++){
if(Detect(P[i], Q[i])){
if(x1 == -1) x1 = P[i], y1 = Q[i];
else x2 = P[i], y2 = Q[i];
}
}
for(i=1; i<=N; i++) if(i != x1 && i != x2) break;
if(Detect(i, y2)) Report(x1, y2);
else Report(x2, y1);
}
Compilation message (stderr)
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |