Submission #900284

# Submission time Handle Problem Language Result Execution time Memory
900284 2024-01-08T03:59:18 Z ar88lo Parrots (IOI11_parrots) C++14
24 / 100
9 ms 1376 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;
	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;
}
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]]++;
    }

    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] == 1){
            ans[i*2] = 0;
            ans[i*2 + 1] = 1;
        }
        else if(c[i] == 2){
            ans[i*2] = 1;
            ans[i*2+1] = 0;
        }
        else if(c[i] == 3){
            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:27:19: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   27 |  for(int i = 0; i <v.size(); i+=2){
      |                 ~~^~~~~~~~~

decoder.cpp: In function 'int vectoint(std::vector<int>)':
decoder.cpp:9:19: 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:42:22: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   42 |     for(int i = 0; i < ans.size(); i+=8){
      |                    ~~^~~~~~~~~~~~
# Verdict Execution time Memory Grader output
1 Correct 0 ms 796 KB Output is correct
# 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 1 ms 788 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 Partially correct 2 ms 1312 KB Output is partially correct - P = 12.000000
2 Partially correct 5 ms 1332 KB Output is partially correct - P = 12.000000
3 Partially correct 4 ms 1332 KB Output is partially correct - P = 12.000000
4 Partially correct 5 ms 1356 KB Output is partially correct - P = 12.000000
5 Partially correct 8 ms 1376 KB Output is partially correct - P = 12.000000
6 Partially correct 9 ms 1376 KB Output is partially correct - P = 12.000000
7 Partially correct 8 ms 1376 KB Output is partially correct - P = 12.000000