Submission #583274

#TimeUsernameProblemLanguageResultExecution timeMemory
583274hibikiSaveit (IOI10_saveit)C++11
50 / 100
368 ms12548 KiB
#include "grader.h"
#include "encoder.h"
#include<bits/stdc++.h>
using namespace std;

#define f first
#define s second
#define pb push_back

void encode(int nv, int nh, int ne, int *v1, int *v2){
    int ans[40][1005];
    vector<int> v[1005];
    for(int i = 0; i < ne; i++)
    {
        v[v1[i]].pb(v2[i]);
        v[v2[i]].pb(v1[i]);
    }
    for(int i = 0; i < nh; i++)
    {
        for(int j = 0; j < 1005; j++)
            ans[i][j] = 1e9;
        ans[i][i] = 0;
        queue<pair<int,int> > pq;
        pq.push({-0,i});
        while(!pq.empty())
        {
            int val = -pq.front().f;
            int nw = pq.front().s;
            pq.pop();
            for(auto go: v[nw])
            {
                if(val + 1 < ans[i][go])
                {
                    ans[i][go] = val + 1;
                    pq.push({-ans[i][go],go});
                }
            }
        }
    }
    for(int i = 0; i < nh; i++)
        for(int j = 0; j < nv; j++)
        {
            for(int k = 0; k < 10; k++)
            {
                if((1<<k) & ans[i][j])
                    encode_bit(1);
                else
                    encode_bit(0);
            }
        }
    return;
}
#include "grader.h"
#include "decoder.h"
#include<bits/stdc++.h>
using namespace std;

#define f first
#define s second
#define pb push_back

void decode(int nv, int nh) {
    for(int i = 0; i < nh; i++)
        for(int j = 0; j < nv; j++)
        {
            int val = 0;
            for(int k = 0; k < 10; k++)
            {
                int a = decode_bit();
                val += a * (1<<k);
            }
            hops(i,j,val);
        }
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...