제출 #565005

#제출 시각아이디문제언어결과실행 시간메모리
565005RealSnake저장 (Saveit) (IOI10_saveit)C++14
0 / 100
1507 ms48728 KiB
#include "bits/stdc++.h"
using namespace std;
#include "grader.h"
#include "encoder.h"

void encode(int n, int h, int p, int a[], int b[]) {
    vector<int> v[n];
    for(int i = 0; i < p; i++) {
        v[a[i]].push_back(b[i]);
        v[b[i]].push_back(a[i]);
    }
    int vis[n];
    for(int i = n - 1; i >= 0; i--) {
        for(int j = 0; j < n; j++)
            vis[j] = 1e9;
        set<pair<int, int>> s;
        s.insert({0, i});
        int y = i + 1;
        while(s.size()) {
            pair<int, int> p = *s.begin();
            s.erase(s.begin());
            int x = p.second;
            int d = p.first;
            if(d > vis[x])
                continue;
            if(x <= i && vis[x] != d)
                y--;
            vis[x] = d;
            if(!y)
                break;
            for(int j : v[x]) {
                if(d + (j < h) < vis[j]) {
                    vis[j] = d + (j < h);
                    s.insert({d + (j < h), j});
                }
            }
        }
        for(int j = i; j >= 0; j--) {
            for(int bit = 0; bit < 10; bit++)
                encode_bit((vis[j] & (1 << bit)) > 0);
        }
    }
    return;
}
#include "bits/stdc++.h"
using namespace std;
#include "grader.h"
#include "encoder.h"

void decode(int n, int h) {
    for(int i = n - 1; i >= 0; i--) {
        for(int j = i; j >= 0; j--) {
            int d = 0;
            for(int bit = 0; bit < 10; bit++) {
                if(decode_bit())
                    d += (1 << bit);
            }
            if(j >= h)
                continue;
            hops(j, i, d);
            if(i < h && i != j)
                hops(i, j, d);
        }
    }
    return;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...