제출 #97584

#제출 시각아이디문제언어결과실행 시간메모리
97584someone_aaParrots (IOI11_parrots)C++17
81 / 100
9 ms1792 KiB
#include "encoder.h"
#include "encoderlib.h"
#include <bits/stdc++.h>
using namespace std;

void encode(int N, int M[]) {
    for(int i=0;i<N;i++) {
        int def = i;
        for(int j=0;j<8;j++) {
            if(M[i] & (1<<j)) {
                // on bit
                //cout<<i<<", "<<M[i]<<": "<<j<<"\n";
                int curr = def;
                for(int bit=0;bit<3;bit++) {
                    if(j&(1<<bit)) {
                        curr |= (1<<(bit + 5));
                    }
                }
                send(curr);
            }
        }
    }
}
#include "decoder.h"
#include "decoderlib.h"
#include <bits/stdc++.h>
using namespace std;

void decode(int N, int L, int X[]) {
    int arr[35];
    memset(arr,0,sizeof(arr));
    for(int i=0;i<L;i++) {
        int position = 0;
        for(int j=0;j<5;j++) {
            if(X[i] & (1<<j)) {
                position |= (1<<j);
            }
        }
        int index = 0;
        for(int j=5;j<8;j++) {
            if(X[i] & (1<<j)) {
                index |= (1<<(j-5));
            }
        }
        arr[position] |= (1<<index);
    }

    for(int i=0;i<N;i++) {
        output(arr[i]);
    }
}
#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...