Submission #1244321

#TimeUsernameProblemLanguageResultExecution timeMemory
1244321tamyteParrots (IOI11_parrots)C++17
24 / 100
7 ms840 KiB
#include "encoder.h" #include "encoderlib.h" #include <bits/stdc++.h> using namespace std; void dbg(int n) { for (int i = 0; i < 8; ++i) { cout << (n >> i & 1); } cout << endl; } void encode(int N, int M[]) { int index = 0; for (int i = 0; i < N; ++i) { // dbg(M[i]); for (int j = 0; j < 8; j += 2) { int now = index++; int state = 0; for (int k = j; k < j + 2; ++k) { state += (1 << (k - j)) * (M[i] >> k & 1); } // cout << state << "\n"; for (int k = 0; k < state; ++k) { send(now); // dbg(now); } } } }
#include "decoder.h" #include "decoderlib.h" #include <bits/stdc++.h> using namespace std; void decode(int N, int L, int X[]) { vector<int> res(N); map<int, int> mp; { int index = 0; for (int i = 0; i < N; ++i) { for (int j = 0; j < 8; j += 2) { mp[index] = 0; index += 1; } } } for (int i = 0; i < L; ++i) { mp[X[i]] += 1; } // for () int bit = 1, index = 0; for (auto& [x, cnt] : mp) { res[index] += bit * cnt; bit <<= 2; // cout << index << " " << bit << " " << cnt << "\n"; if (bit == 256) { index += 1; bit = 1; } } for (int i = 0; i < N; ++i) { output(res[i]); } }
#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...