#include <stdio.h>
#include <stdlib.h>
#define F0R(i, a) for (int i=0; i<(a); i++)
int num[2772], tot = (1<<12)-1;
void gen() {
int nex = 0;
F0R(i,1<<12) if (i&1) if (__builtin_popcount(i) == 6) num[nex++] = i;
}
int encode (int N, int x, int y) {
if (!num[0]) gen();
int z = num[x]&(tot^num[y]);
F0R(i,12) if (z&(1<<i)) return i+1;
}
#include <stdio.h>
#include <stdlib.h>
#define F0R(i, a) for (int i=0; i<(a); i++)
int num[2772], tot = (1<<12)-1;
void gen() {
int nex = 0;
F0R(i,1<<12) if (i&1) if (__builtin_popcount(i) == 6) num[nex++] = i;
}
int decode (int N, int q, int h) {
if (!num[0]) gen();
h --;
if (num[q]&(1<<h)) return 1;
return 0;
}
Compilation message
encoder.cpp: In function 'int encode(int, int, int)':
encoder.cpp:17:1: warning: control reaches end of non-void function [-Wreturn-type]
}
^
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Incorrect |
1281 ms |
80624 KB |
wrong answer |
2 |
Incorrect |
1169 ms |
81248 KB |
wrong answer |