Submission #564985

#TimeUsernameProblemLanguageResultExecution timeMemory
564985MrDebooSaveit (IOI10_saveit)C++17
50 / 100
261 ms12452 KiB
#include "grader.h"
#include "encoder.h"
#include <bits/stdc++.h>
using namespace std;

void encode(int n, int h, int p, int v1[], int v2[]){
    vector<int>vct[n];
    for(int i=0;i<p;i++){
        vct[v1[i]].push_back(v2[i]);
        vct[v2[i]].push_back(v1[i]);
    }
    int arr[h][n];
    for(int i=0;i<h;i++){
        deque<pair<int,int>>dq={{0,i}};
        vector<bool>vis(n);
        vis[i]=1;
        while(dq.size()){
            pair<int,int>p=dq.front();
            dq.pop_front();
            arr[i][p.second]=p.first;
            for(auto &w:vct[p.second]){if(!vis[w]){dq.push_back({p.first+1,w});vis[w]=1;}}
        }
    }
    for(int i=0;i<h;i++){
        for(int w=0;w<n;w++){
            for(int j=0;j<10;j++){
                if(arr[i][w]&(1<<j))encode_bit(1);
                else encode_bit(0);
            }
        }
    }
}
#include "grader.h"
#include "decoder.h"
#include <bits/stdc++.h>
using namespace std;
void decode(int n, int h) {
    for(int i=0;i<h;i++){
        for(int w=0;w<n;w++){
            int f=0;
            for(int j=0;j<10;j++){
                if(decode_bit())f+=(1<<j);
            }
            hops(i,w,f);
        }
    }
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...