Submission #1016124

#TimeUsernameProblemLanguageResultExecution timeMemory
101612479brueSaveit (IOI10_saveit)C++17
50 / 100
178 ms14336 KiB
#include "grader.h"
#include "encoder.h"
#include <bits/stdc++.h>

using namespace std;

namespace {
    int n, h, m;
    vector<int> link[1002];
    int dist[50][1002];
    bool visited[50][1002];
}

void encode(int nv, int nh, int ne, int *v1, int *v2){
    n = nv, h = nh, m = ne;
    for(int i=0; i<m; i++){
        link[v1[i]].push_back(v2[i]);
        link[v2[i]].push_back(v1[i]);
    }
    for(int s=0; s<h; s++){
        queue<int> que;
        que.push(s);
        visited[s][s] = 1;
        while(!que.empty()){
            int x = que.front(); que.pop();
            for(int y: link[x]){
                if(visited[s][y]) continue;
                visited[s][y] = 1, dist[s][y] = dist[s][x]+1;
                que.push(y);
            }
        }
    }
    for(int i=0; i<h; i++) for(int j=0; j<n; j++) for(int d=0; d<10; d++){
        encode_bit((dist[i][j] >> d) & 1);
    }
}
#include "grader.h"
#include "decoder.h"
#include <bits/stdc++.h>

using namespace std;

namespace {
    int n, h;
}

void decode(int nv, int nh){
    n = nv, h = nh;
    for(int i=0; i<h; i++) for(int j=0; j<n; j++){
        int s = 0;
        for(int d=0; d<10; d++) s += decode_bit() << d;
        hops(i, j, s);
    }
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...