Submission #1008537

#TimeUsernameProblemLanguageResultExecution timeMemory
1008537FaggiParrots (IOI11_parrots)C++11
98 / 100
5 ms1424 KiB
#include "encoder.h" #include "encoderlib.h" #include <bits/stdc++.h> using namespace std; void encode(int N, int M[]){ int i, j, pot, part,num; for(i=0; i<N; i++) { num=0; pot=1; if(M[i]==255) { num=i; num=num<<2; num+=0; send(num); send(num); send(num); send(num); continue; } else if(M[i]==254) { num=i; num=num<<2; num+=1; send(num); send(num); send(num); send(num); continue; } else if(M[i]==251) { num=i; num=num<<2; num+=2; send(num); send(num); send(num); send(num); continue; } else if(M[i]==239) { num=i; num=num<<2; num+=3; send(num); send(num); send(num); send(num); continue; } else if(M[i]==191) { num=i; num=num<<2; num+=0; send(num); send(num); send(num); send(num); send(num); continue; } for(j=0; j<4; j++) { num=i; num=num<<2; num+=j; if((M[i]&pot)>0&&(M[i]&(pot*2))>0) { send(num); send(num); send(num); } else if((M[i]&pot)>0) { send(num); } else if((M[i]&(pot*2))>0) { send(num); send(num); } pot*=2; pot*=2; } }}
#include "decoder.h" #include "decoderlib.h" #include <bits/stdc++.h> using namespace std; void decode(int N, int L, int X[]){ int i,j,a,b,pos,par,num; vector<vector<int>>v(N,vector<int>(4,0)); for(i=0; i<L; i++) { pos=X[i]; pos=pos>>2; par=(X[i]^(pos<<2)); v[pos][par]++; } for(i=0; i<N; i++) { num=0; if(v[i][0]==4) { output(255); continue; } else if(v[i][1]==4) { output(254); continue; } else if(v[i][2]==4) { output(251); continue; } else if(v[i][3]==4) { output(239); continue; } else if(v[i][0]==5) { output(191); continue; } for(j=3; j>=0; j--) { if(v[i][j]==3) { num=num<<1; num++; num=num<<1; num++; } else if(v[i][j]==1) { num=num<<2; num++; } else if(v[i][j]==2) { num=num<<1; num++; num=num<<1; } else { num=num<<2; } } output(num); }}

Compilation message (stderr)

encoder.cpp: In function 'void encode(int, int*)':
encoder.cpp:5:48: warning: unused variable 'part' [-Wunused-variable]
    5 | void encode(int N, int M[]){    int i, j, pot, part,num;    for(i=0; i<N; i++)    {        num=0;        pot=1;        if(M[i]==255)        {            num=i;            num=num<<2;            num+=0;            send(num);            send(num);            send(num);            send(num);            continue;        }        else if(M[i]==254)        {            num=i;            num=num<<2;            num+=1;            send(num);            send(num);            send(num);            send(num);            continue;        }        else if(M[i]==251)        {            num=i;            num=num<<2;            num+=2;            send(num);            send(num);            send(num);            send(num);            continue;        }        else if(M[i]==239)        {            num=i;            num=num<<2;            num+=3;            send(num);            send(num);            send(num);            send(num);            continue;        }        else if(M[i]==191)        {            num=i;            num=num<<2;            num+=0;            send(num);            send(num);            send(num);            send(num);            send(num);            continue;        }        for(j=0; j<4; j++)        {            num=i;            num=num<<2;            num+=j;            if((M[i]&pot)>0&&(M[i]&(pot*2))>0)            {                send(num);                send(num);                send(num);            }            else if((M[i]&pot)>0)            {                send(num);            }            else if((M[i]&(pot*2))>0)            {                send(num);                send(num);            }            pot*=2;            pot*=2;        }    }}
      |                                                ^~~~

decoder.cpp: In function 'void decode(int, int, int*)':
decoder.cpp:5:48: warning: unused variable 'a' [-Wunused-variable]
    5 | void decode(int N, int L, int X[]){    int i,j,a,b,pos,par,num;    vector<vector<int>>v(N,vector<int>(4,0));    for(i=0; i<L; i++)    {        pos=X[i];        pos=pos>>2;        par=(X[i]^(pos<<2));        v[pos][par]++;    }    for(i=0; i<N; i++)    {        num=0;        if(v[i][0]==4)        {            output(255);            continue;        }        else if(v[i][1]==4)        {            output(254);            continue;        }        else if(v[i][2]==4)        {            output(251);            continue;        }        else if(v[i][3]==4)        {            output(239);            continue;        }        else if(v[i][0]==5)        {            output(191);            continue;        }        for(j=3; j>=0; j--)        {            if(v[i][j]==3)            {                num=num<<1;                num++;                num=num<<1;                num++;            }            else if(v[i][j]==1)            {                num=num<<2;                num++;            }            else if(v[i][j]==2)            {                num=num<<1;                num++;                num=num<<1;            }            else            {                num=num<<2;            }        }        output(num);            }}
      |                                                ^
decoder.cpp:5:50: warning: unused variable 'b' [-Wunused-variable]
    5 | void decode(int N, int L, int X[]){    int i,j,a,b,pos,par,num;    vector<vector<int>>v(N,vector<int>(4,0));    for(i=0; i<L; i++)    {        pos=X[i];        pos=pos>>2;        par=(X[i]^(pos<<2));        v[pos][par]++;    }    for(i=0; i<N; i++)    {        num=0;        if(v[i][0]==4)        {            output(255);            continue;        }        else if(v[i][1]==4)        {            output(254);            continue;        }        else if(v[i][2]==4)        {            output(251);            continue;        }        else if(v[i][3]==4)        {            output(239);            continue;        }        else if(v[i][0]==5)        {            output(191);            continue;        }        for(j=3; j>=0; j--)        {            if(v[i][j]==3)            {                num=num<<1;                num++;                num=num<<1;                num++;            }            else if(v[i][j]==1)            {                num=num<<2;                num++;            }            else if(v[i][j]==2)            {                num=num<<1;                num++;                num=num<<1;            }            else            {                num=num<<2;            }        }        output(num);            }}
      |                                                  ^
#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...