Submission #900293

# Submission time Handle Problem Language Result Execution time Memory
900293 2024-01-08T04:20:46 Z ar88lo Parrots (IOI11_parrots) C++14
0 / 100
6 ms 1384 KB
#include "encoder.h"
#include "encoderlib.h"
#include <bits/stdc++.h>
using namespace std;

vector<int> tovec(int a){
    vector<int> ret;
    for(int i = 0; i < 8; i++){
            ret.push_back(a%2);
            a/=2;
    }

    return ret;
}

void encode(int N, int M[]){

    vector<int> v;
    for(int i = N-1; i >= 0; i--){
            vector<int> temp = tovec(M[i]);
            for(auto t:temp){
                    v.push_back(t);
            }
    }
    reverse(v.begin(), v.end());
    int ind = 0;
    int times = 0;
    for(int i = 0; i <v.size(); i+=2){
            if(v[i] == 1 && v[i+1] == 1){
                    times++;
            }

    }
    if(times > 6*N){
         send(0); send(0); send(0); send(0);
    }
    for(int i = 0; i <v.size(); i+=2){
            if(v[i] == 1 && v[i+1] == 1){
                    send(ind); send(ind); send(ind);
            }
            if(v[i] == 1 && v[i+1] == 0){
                    send(ind); send(ind);
            }
            if(v[i] == 0 && v[i+1] == 1){
                    send(ind);
            }
            ind++;

    }
}
#include "decoder.h"
#include "decoderlib.h"
#include <bits/stdc++.h>

using namespace std;
int vectoint(vector<int> a){
        reverse(a.begin(), a.end());
        int ret = 0;
        for(int i = 0; i < a.size(); i++){
                ret += (a[i]<<i);
        }
        return ret;
}
int b[3] = {3,2,1};
void decode(int N, int L, int X[]){

    int c[256];
    memset(c, 0, sizeof c);
    for(int i = 0; i < L; i++){
        c[X[i]]++;
    }
    if(c[0] >= 4){
            c[0] -= 4;
            reverse(b, b+3);
    }

    vector<int> ans;
    for(int i = 0; i < N * 8; i++) ans.push_back(0);


    for(int i = 0; i < 256; i++){

        if(c[i] == b[0]){
            ans[i*2] = 0;
            ans[i*2 + 1] = 1;
        }
        else if(c[i] == b[1]){
            ans[i*2] = 1;
            ans[i*2+1] = 0;
        }
        else if(c[i] == b[2]){
            ans[i*2] = 1;
            ans[i*2+1] = 1;
        }
    }
    vector<int> temp;
    for(int i = 0; i < ans.size(); i+=8){
            temp.clear();
            for(int j = i; j < i+8; j++){
                    temp.push_back(ans[j]);
            }
            output(vectoint(temp));
    }

}

Compilation message

encoder.cpp: In function 'void encode(int, int*)':
encoder.cpp:28:22: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   28 |     for(int i = 0; i <v.size(); i+=2){
      |                    ~~^~~~~~~~~
encoder.cpp:37:22: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   37 |     for(int i = 0; i <v.size(); i+=2){
      |                    ~~^~~~~~~~~

decoder.cpp: In function 'int vectoint(std::vector<int>)':
decoder.cpp:9:26: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
    9 |         for(int i = 0; i < a.size(); i++){
      |                        ~~^~~~~~~~~~
decoder.cpp: In function 'void decode(int, int, int*)':
decoder.cpp:47:22: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   47 |     for(int i = 0; i < ans.size(); i+=8){
      |                    ~~^~~~~~~~~~~~
# Verdict Execution time Memory Grader output
1 Incorrect 1 ms 1292 KB Error : Output is wrong
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 1 ms 784 KB Error : Encoded message too long
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 0 ms 784 KB Error : Encoded message too long
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 0 ms 780 KB Error : Encoded message too long
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 2 ms 1324 KB Error : Output is wrong
2 Incorrect 3 ms 1340 KB Error : Output is wrong
3 Incorrect 3 ms 1336 KB Error : Output is wrong
4 Incorrect 4 ms 1356 KB Error : Output is wrong
5 Incorrect 6 ms 1372 KB Error : Output is wrong
6 Incorrect 5 ms 1384 KB Error : Output is wrong
7 Incorrect 6 ms 1384 KB Error : Output is wrong