# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
565048 | Uzouf | Saveit (IOI10_saveit) | C++14 | 0 ms | 0 KiB |
This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include <bits/stdc++.h>
using namespace std;
void encode(int n,int h,int p,int a[],int b[]) {
int grid[n][n];
for (int i=0;i<n;i++) {
for (int j=0;j<n;j++) {
grid[i][j]=1e9;
}
grid[i][i]=0;
}
for (int i=0;i<p;i++) {
grid[a[i]][b[i]]=1;
grid[b[i]][a[i]]=1;
grid[i][i]=0;
}
for (int k=0;k<n;k++)
for (int i=0;i<n;i++) {
for (int j=0;j<n;j++) {
grid[i][j]=min(grid[i][j],grid[i][k]+grid[k][j]);
}
}
}
for (int i=0;i<h;i++) {
for (int j=0;j<n;j++) {
int nm=grid[i][j];
for (int pp=0;pp<10;pp++) {
if (((1<<pp)&nm)==(1<<pp)) encode_bit(1);
else encode_bit(0);
}
}
}
}
#include <bits/stdc++.h>
using namespace std;
void decode(int n,int h) {
for (int i=0;i<h;i++) {
for (int j=0;j<n;j++) {
int nm=0,t=0;
while (t<10) {
if (decode_bit()==1) nm+=(1<<t);
t++;
}
hops(i,j,nm);
}
}
}