제출 #1186524

#제출 시각아이디문제언어결과실행 시간메모리
1186524simona1230앵무새 (IOI11_parrots)C++20
98 / 100
4 ms840 KiB
#include "encoder.h" #include "encoderlib.h" #include <bits/stdc++.h> using namespace std; void encode(int N, int M[]) { int x=0,y=1; while(x*2<=N-1)y*=2,x++; int cnt=0; for(int i=0;i<8;i++) for(int j=0;j<min(N,32);j++) if(M[j]&(1<<i))cnt++; if(cnt>N*2)send(0),send(0),send(0),send(0); int cnt1=0; for(int i=0;i<8;i++) for(int j=32;j<N;j++) if(M[j]&(1<<i))cnt1++; if(cnt1>N*2)send(1),send(1),send(1),send(1); for(int i=0;i<8;i++) for(int j=0;j<min(N,32);j++) if(cnt>N*2&&!(M[j]&(1<<i)) || cnt<=2*N&&(M[j]&(1<<i))) { //cout<<(j<<3)+i<<" "<<j<<" "<<i<<endl; send((j<<3)+i); } for(int i=0;i<8;i++) for(int j=32;j<N;j++) if(cnt1>N*2&&!(M[j]&(1<<i)) || cnt1<=2*N&&(M[j]&(1<<i))) { //cout<<(j<<3)+i<<" "<<j<<" "<<i<<endl; send(((j-32)<<3)+i); send(((j-32)<<3)+i); } }
#include "decoder.h" #include "decoderlib.h" #include <bits/stdc++.h> using namespace std; int a[128],c[256]; void decode(int N, int L, int X[]) { for(int i=0;i<N;i++) a[i]=0; for(int i=0;i<L;i++) c[X[i]]++; int z=c[0]/4; c[0]%=4; int o=c[1]/4; c[1]%=4; for(int i=0;i<L;i++) { int b=(X[i]&1)+(X[i]&2)+(X[i]&4); if(c[X[i]]==0)continue; int h=c[X[i]]; if(h==1||h==3)a[X[i]>>3]+=(1<<b); if(h==2||h==3) { //cout<<"in"<<endl; a[(X[i]>>3)+32]+=(1<<b); } c[X[i]]=0; } if(z) { for(int i=0;i<32;i++) a[i]=255-a[i]; } if(o) { for(int i=32;i<N;i++) a[i]=255-a[i]; } for(int i=0;i<N;i++) { output(a[i]); //cout<<a[i]<<" "; } //cout<<endl; }
#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...