Submission #1199879

#TimeUsernameProblemLanguageResultExecution timeMemory
1199879raphaelpParrots (IOI11_parrots)C++20
100 / 100
7 ms840 KiB
#include "encoder.h" #include "encoderlib.h" #include <bits/stdc++.h> using namespace std; void encode(int N, int M[]) { vector<int> Tab; for (int i = 0; i < N; i++) { for (int j = 7; j >= 0; j--) { Tab.push_back((M[i] & (1 << j)) ? 1 : 0); } } int random = 0; int ones = 500; for (int j = 0; j < 8; j++) { srand(random); ones = 0; for (int i = 0; i < Tab.size(); i++) { int x = rand() % 2; if (x) Tab[i] = 1 - Tab[i]; if (Tab[i]) ones++; } if (ones < 253) break; random++; } int buff = 0; for (int i = 2; i >= 0; i--) { if (random & (1 << i)) buff++; else send(buff); } // cout << buff << ' '; for (int i = 0; i < Tab.size(); i++) { if (Tab[i]) buff++; else send(buff); // cout << buff << ' '; } } /*int main() { int N; cin >> N; int Tab[N]; for (int i = 0; i < N; i++) cin >> Tab[i]; encode(N, Tab); }*/
#include "decoder.h" #include "decoderlib.h" #include <bits/stdc++.h> using namespace std; void decode(int N, int L, int X[]) { vector<int> Tab; for (int i = 0; i < L; i++) Tab.push_back(X[i]); sort(Tab.begin(), Tab.end()); vector<int> message; int buff = 0; for (int i = 0; i < 256; i++) { while (buff < Tab.size() && Tab[buff] == i) { message.push_back(0); buff++; } message.push_back(1); } int random = 0; for (int i = 0; i < 3; i++) { random *= 2; if (message[i]) random++; } for (int i = 0; i <= random; i++) { srand(i); for (int j = 3; j < message.size(); j++) { int x = rand() % 2; if (x) message[j] = 1 - message[j]; } } buff = 3; for (int i = 0; i < N; i++) { int x = 0; for (int j = 0; j < 8; j++) { x *= 2; if (message[buff]) x++; buff++; } output(x); // cout << x << ' '; } } /*int main() { int N, L; cin >> N >> L; int Tab[L]; for (int i = 0; i < L; i++) cin >> Tab[i]; decode(N, L, Tab); }*/
#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...