Submission #1234808

#TimeUsernameProblemLanguageResultExecution timeMemory
1234808guanexParrots (IOI11_parrots)C++20
0 / 100
1 ms840 KiB
#include "encoder.h" #include "encoderlib.h" #include<bits/stdc++.h> using namespace std; int timer = 0; map<int, vector<int>> m; void dfs(vector<int> &x){ m[timer] = x; timer++; if((int)x.size() == 7){ return; } int last = x[(int)x.size()-1]; for(int i = last; i <= 3; ++i){ x.push_back(i); dfs(x); x.pop_back(); } } void encode(int N, int M[]) { int n = N; timer = 0; vector<int> x = {0}; dfs(x); x = {1}; dfs(x); x = {2}; dfs(x); x = {3}; dfs(x); vector<vector<int>> vec(n); for(int i = 0; i < n; ++i){ vec[i] = m[M[i]]; } for(int i = 0; i < n; ++i){ for(auto e:vec[i]){ int num = i; if(e & 1){ num += 64; } if(e & 2){ num += 128; } send(num); } } }
#include "decoder.h" #include "decoderlib.h" #include<bits/stdc++.h> using namespace std; int timer = 0; map<vector<int>, int> m; void dfs(vector<int> &x){ m[x] = timer; timer++; if((int)x.size() == 7){ return; } int last = x[(int)x.size()-1]; for(int i = last; i <= 3; ++i){ x.push_back(i); dfs(x); x.pop_back(); } } void decode(int N, int L, int X[]) { int n = N; timer = 0; vector<int> x = {0}; dfs(x); x = {1}; dfs(x); x = {2}; dfs(x); x = {3}; dfs(x); vector<vector<int>> vec(n); for(int i = 0; i < L; ++i){ int pos = 0; for(int i = 0; i < 6; ++i){ if(X[i] & i){ pos += (1 << i); } } int num = 0; if(X[i] & 64){ num++; } if(X[i] & 128){ num++; } vec[pos].push_back(num); } for(auto e:vec){ int ans = m[e]; output(ans); } }
#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...