제출 #125589

#제출 시각아이디문제언어결과실행 시간메모리
125589thebes앵무새 (IOI11_parrots)C++14
17 / 100
9 ms1776 KiB
#include <bits/stdc++.h>
#include "encoder.h"
#include "encoderlib.h"
using namespace std;

map<vector<int>,int> mp;
map<int,vector<int>> rev;
vector<int> vec; int nxt;

void rec(int n){
    if(n==5){
        if(vec.size()!=5) return;
        mp[vec]=nxt++;
        rev[nxt-1]=vec;
    }
    else{
        if(vec.size()>5) return;
        rec(n+1);
        for(int i=1;i<=5;i++){
            vec.push_back(n);
            rec(n+1);
        }
        for(int i=0;i<5;i++)
            vec.pop_back();
    }
}
void encode(int N,int *M){
    mp.clear(); rev.clear(); nxt = 0;
    rec(0);
    for(int i=0;i<N;i++){
        vector<int> w = rev[M[i]];
        for(auto v : w){
            if(v==4) continue;
            send(i*4+v);
        }
    }
}
#include <bits/stdc++.h>
#include "decoder.h"
#include "decoderlib.h"
using namespace std;

map<vector<int>,int> mp;
map<int,vector<int>> rev;
vector<int> vec; int nxt;

void rec(int n){
    if(n==5){
        if(vec.size()!=5) return;
        mp[vec]=nxt++;
        rev[nxt-1]=vec;
    }
    else{
        if(vec.size()>5) return;
        rec(n+1);
        for(int i=1;i<=5;i++){
            vec.push_back(n);
            rec(n+1);
        }
        for(int i=0;i<5;i++)
            vec.pop_back();
    }
}

vector<int> heh[200];
void decode(int N,int L,int *X){
    mp.clear(); rev.clear(); nxt = 0;
    rec(0);
    for(int i=0;i<200;i++) heh[i].clear();
    for(int i=0;i<L;i++){
        int idx = (X[i]>>2);
        heh[idx].push_back(X[i]&3);
    }
    for(int i=0;i<N;i++){
        while(heh[i].size()<5)
            heh[i].push_back(4);
        sort(heh[i].begin(),heh[i].end());
    }
    for(int i=0;i<N;i++){
        output(mp[heh[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...