Submission #301294

#TimeUsernameProblemLanguageResultExecution timeMemory
301294errorgornParrots (IOI11_parrots)C++14
81 / 100
7 ms1792 KiB
#include "encoder.h" #include "encoderlib.h" #include <bits/stdc++.h> using namespace std; #define ll long long #define ii pair<ll,ll> #define iii pair<ii,ll> #define fi first #define se second #define endl '\n' #define rep(x,start,end) for(auto x=(start)-((start)>(end));x!=(end)-((start)>(end));((start)<(end)?x++:x--)) #define all(x) (x).begin(),(x).end() #define sz(x) (int)(x).size() static map<int,vector<int> > m={ {0,{0,0,0}}, {1,{0,0,1}}, {2,{0,0,2}}, {3,{0,0,3}}, {4,{0,1,1}}, {5,{0,1,2}}, {6,{0,1,3}}, {7,{0,2,2}}, {8,{0,2,3}}, {9,{0,3,3}}, {10,{1,1,1}}, {11,{1,1,2}}, {12,{1,1,3}}, {13,{1,2,2}}, {14,{1,2,3}}, {15,{1,3,3}}, {16,{2,2,2}} }; void encode(int n, int arr[]){ vector<int> bits; rep(x,0,n){ int curr=arr[x]; rep(y,0,8){ bits.push_back(curr&1); curr>>=1; } } rep(x,0,n*2){ int curr=0; rep(y,0,4) curr|=bits[x*4+y]<<y; auto temp=m[curr]; for (auto &it:temp){ send(x<<2|it); } } }
#include "decoder.h" #include "decoderlib.h" #include <bits/stdc++.h> using namespace std; #define ll long long #define ii pair<ll,ll> #define iii pair<ii,ll> #define fi first #define se second #define endl '\n' #define rep(x,start,end) for(auto x=(start)-((start)>(end));x!=(end)-((start)>(end));((start)<(end)?x++:x--)) #define all(x) (x).begin(),(x).end() #define sz(x) (int)(x).size() static map<vector<int>,int > m={ {{0,0,0},0}, {{0,0,1},1}, {{0,0,2},2}, {{0,0,3},3}, {{0,1,1},4}, {{0,1,2},5}, {{0,1,3},6}, {{0,2,2},7}, {{0,2,3},8}, {{0,3,3},9}, {{1,1,1},10}, {{1,1,2},11}, {{1,1,3},12}, {{1,2,2},13}, {{1,2,3},14}, {{1,3,3},15}, {{2,2,2},16} }; vector<int> v[64]; void decode(int n, int l, int arr[]){ rep(x,0,64) v[x].clear(); vector<int> bits(l); rep(x,0,l){ v[arr[x]>>2].push_back(arr[x]&3); } rep(x,0,64) sort(all(v[x])); rep(x,0,n){ output(m[v[x*2]]|m[v[x*2+1]]<<4); } }
#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...