# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
973167 | 2024-05-01T15:00:56 Z | vjudge1 | 질문 (CEOI14_question_grader) | C | 0 ms | 0 KB |
#include <stdio.h> int set[925], iota; void init() { for (int i = 1; i < (1<<12); ++i) if(__builtin_popcount(i) == 6) set[++iota] = i; } int encode(int n,int x,int y) { if (!iota) init(); for(int i=0;i<12;++i) if((set[x]&(1<<i))&&!(set[y]&(1<<i))) return i+1; __builtin_trap(); } int decode (int n, int q, int h) { if (!iota) init(); return(set[q]>>(h-1))&1; }