제출 #41114

#제출 시각아이디문제언어결과실행 시간메모리
41114hsb154앵무새 (IOI11_parrots)C++14
88 / 100
18 ms2432 KiB
#include "encoder.h" #include "encoderlib.h" void encode(int N, int M[]) { if (N > 32) { for (int i = 0; i < N; i++) { int mask = 1; for (int j = 0; j < 8; j++) { int temp = 0; temp = temp | (i << 2); temp = temp | (j/2); if (((M[i] & mask) >> j) != 0) { if(j%2==0) send(temp); else { send(temp); send(temp); } } mask <<= 1; } } } else { for (int i = 0; i < N; i++) { int mask = 1; for (int j = 0; j < 8; j++) { int temp = 0; temp = temp | (i << 3); temp = temp | (j); if (((M[i] & mask) >> j) != 0) { send(temp); } mask <<= 1; } } } }
#include "decoder.h" #include "decoderlib.h" void decode(int N, int L, int X[]) { if (N > 32) { for (int i = 0; i < N; i++) { int temp = 0; for (int k = 0; k < 4; k++) { int cnt=0; for (int j = 0; j < L; j++) { if ((X[j] >> 2) == i && ((X[j]) & 3) == k) { cnt++; } } if (cnt == 1) temp |= 1 << (k * 2); if (cnt == 2) temp |= 2 << (k * 2); if (cnt == 3) temp |= 3 << (k * 2); } output(temp); } } else { for (int i = 0; i < N; i++) { int temp = 0; for (int k = 0; k < 8; k++) { for (int j = 0; j < L; j++) { if ((X[j] >> 3) == i && ((X[j]) & 7) == k) { temp = temp | (1 << k); break; } } } output(temp); } } }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...