제출 #1008537

#제출 시각아이디문제언어결과실행 시간메모리
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);            }}

컴파일 시 표준 에러 (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...