#include <bits/stdc++.h>
using namespace std;
#define rep(i , j , k) for (int i = j; i < k; i++)
bool init = false;
constexpr int N = 1000;
int arr[N][6], ptr, ptr2, local[6];
void generate(int me = 0) {
if (me == 12) {
if (ptr != 6) return;
memcpy(arr[ptr2++] , local, sizeof(local));
return;
}
if (ptr < 6) {
local[ptr++] = me;
generate(me + 1);
ptr--;
}
generate(me + 1);
}
int decode(int junk , int q, int h) {
if (!init) {
generate();
init = true;
}
rep(i , 0 , 6)
if (arr[q][i] == h)
return true;
return false;
}
int encode(int junk, int x, int y) {
if (!init) {
generate();
init = true;
}
rep(i , 0 , 6)
if (arr[x][i] != arr[y][i])
return i + 1;
}
#include <bits/stdc++.h>
using namespace std;
#define rep(i , j , k) for (int i = j; i < k; i++)
bool init = false;
constexpr int N = 1000;
int arr[N][6], ptr, ptr2, local[6];
void generate(int me = 0) {
if (me == 12) {
if (ptr != 6) return;
memcpy(arr[ptr2++] , local, sizeof(local));
return;
}
if (ptr < 6) {
local[ptr++] = me;
generate(me + 1);
ptr--;
}
generate(me + 1);
}
int decode(int junk , int q, int h) {
if (!init) {
generate();
init = true;
}
rep(i , 0 , 6)
if (arr[q][i] == h)
return true;
return false;
}
int encode(int junk, int x, int y) {
if (!init) {
generate();
init = true;
}
rep(i , 0 , 6)
if (arr[x][i] != arr[y][i])
return i + 1;
}
Compilation message
encoder.cpp: In function 'int encode(int, int, int)':
encoder.cpp:46:1: warning: control reaches end of non-void function [-Wreturn-type]
}
^
decoder.cpp: In function 'int encode(int, int, int)':
decoder.cpp:46:1: warning: control reaches end of non-void function [-Wreturn-type]
}
^
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Incorrect |
982 ms |
78792 KB |
wrong answer |
2 |
Incorrect |
1053 ms |
78832 KB |
wrong answer |