#include "grader.h"
#include "encoder.h"
#include <bits/stdc++.h>
#define pb push_back
#define f first
#define sc second
using namespace std;
typedef long long int ll;
typedef string str;
namespace {
void dec_to_bin(int x){
for(int i = 0; i < 10; i++){
encode_bit(x%2);
x/=2;
}
}
int n;
vector<vector<int>> v;
vector<bool> bl;
vector<int> p;
void dfs(int nd, int ss){
if(bl[nd]) return;
bl[nd] = 1;
for(int x: v[nd]) if(x != ss) dfs(x, nd);
p[nd] = ss;
}
vector<int> bfs(int s){
vector<int> dis(n, -1);
queue<int> Q;
dis[s] = 0;
Q.push(s);
while(!Q.empty()){
int nd = Q.front(); Q.pop();
for(int x: v[nd]) if(dis[x] == -1){
dis[x] = dis[nd]+1;
Q.push(x);
}
}
return dis;
}
}
void encode(int _n, int h, int m, int *A, int *B){
n = _n;
v.assign(n, {});
bl.assign(n, 0);
p.assign(n, -1);
for(int i = 0; i < m; i++){
v[A[i]].pb(B[i]);
v[B[i]].pb(A[i]);
}
dfs(0, -1);
for(int i = 1; i < n; i++) dec_to_bin(p[i]);
for(int i = 0; i < h; i++){
auto dis = bfs(i);
dec_to_bin(dis[0]);
for(int j = 1; j < n; j++){
if(dis[j] == dis[p[j]]) encode_bit(0), encode_bit(0);
else if(dis[j] == dis[p[j]]+1) encode_bit(1), encode_bit(0);
else encode_bit(0), encode_bit(1);
}
}
}
#include "grader.h"
#include "decoder.h"
#include <bits/stdc++.h>
#define pb push_back
#define f first
#define sc second
using namespace std;
typedef long long int ll;
typedef string str;
namespace {
int bin_to_dec(int L){
int x = 0;
for(int i = 0; i < L; i++) x+=decode_bit()*(1<<i);
return x;
}
vector<vector<int>> v;
vector<int> p;
vector<int> diff;
void dfs(int nd, int d, int H){
d+=diff[nd];
hops(H, nd, d);
for(int x: v[nd]) dfs(x, d, H);
}
}
void decode(int n, int h){
v.assign(n, {});
p.assign(n, -1);
for(int i = 1; i < n; i++){
p[i] = bin_to_dec(10);
v[p[i]].pb(i);
}
for(int i = 0; i < h; i++){
int D = bin_to_dec(10);
diff.assign(n, 0);
for(int j = 1; j < n; j++){
int c = bin_to_dec(2);
if(c == 1) diff[j] = 1;
else if(c == 2) diff[j] = -1;
else diff[j] = 0;
}
dfs(0, D, i);
}
}
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
321 ms |
10452 KB |
Output is partially correct - 82278 call(s) of encode_bit() |
2 |
Correct |
3 ms |
4472 KB |
Output is correct - 94 call(s) of encode_bit() |
3 |
Correct |
27 ms |
5336 KB |
Output is partially correct - 74078 call(s) of encode_bit() |
4 |
Correct |
2 ms |
4604 KB |
Output is correct - 130 call(s) of encode_bit() |
5 |
Correct |
31 ms |
5692 KB |
Output is partially correct - 74078 call(s) of encode_bit() |
6 |
Correct |
28 ms |
5688 KB |
Output is partially correct - 82278 call(s) of encode_bit() |
7 |
Correct |
41 ms |
5972 KB |
Output is partially correct - 82278 call(s) of encode_bit() |
8 |
Correct |
27 ms |
5568 KB |
Output is partially correct - 79080 call(s) of encode_bit() |
9 |
Correct |
36 ms |
5496 KB |
Output is partially correct - 82278 call(s) of encode_bit() |
10 |
Correct |
40 ms |
5424 KB |
Output is partially correct - 82278 call(s) of encode_bit() |
11 |
Correct |
28 ms |
5696 KB |
Output is partially correct - 82278 call(s) of encode_bit() |
12 |
Correct |
37 ms |
5516 KB |
Output is partially correct - 82278 call(s) of encode_bit() |
13 |
Correct |
44 ms |
6168 KB |
Output is partially correct - 82278 call(s) of encode_bit() |
14 |
Correct |
27 ms |
5460 KB |
Output is partially correct - 82278 call(s) of encode_bit() |
15 |
Correct |
24 ms |
5768 KB |
Output is partially correct - 82278 call(s) of encode_bit() |
16 |
Correct |
54 ms |
6164 KB |
Output is partially correct - 82278 call(s) of encode_bit() |
17 |
Correct |
37 ms |
6088 KB |
Output is partially correct - 82278 call(s) of encode_bit() |
18 |
Correct |
47 ms |
6336 KB |
Output is partially correct - 82278 call(s) of encode_bit() |
19 |
Correct |
34 ms |
5844 KB |
Output is partially correct - 82278 call(s) of encode_bit() |
20 |
Correct |
59 ms |
6556 KB |
Output is partially correct - 82278 call(s) of encode_bit() |
21 |
Correct |
69 ms |
6700 KB |
Output is partially correct - 82278 call(s) of encode_bit() |
22 |
Correct |
41 ms |
6252 KB |
Output is partially correct - 82278 call(s) of encode_bit() |
23 |
Correct |
68 ms |
6888 KB |
Output is partially correct - 82278 call(s) of encode_bit() |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
321 ms |
10452 KB |
Output is partially correct - 82278 call(s) of encode_bit() |
2 |
Correct |
3 ms |
4472 KB |
Output is correct - 94 call(s) of encode_bit() |
3 |
Correct |
27 ms |
5336 KB |
Output is partially correct - 74078 call(s) of encode_bit() |
4 |
Correct |
2 ms |
4604 KB |
Output is correct - 130 call(s) of encode_bit() |
5 |
Correct |
31 ms |
5692 KB |
Output is partially correct - 74078 call(s) of encode_bit() |
6 |
Correct |
28 ms |
5688 KB |
Output is partially correct - 82278 call(s) of encode_bit() |
7 |
Correct |
41 ms |
5972 KB |
Output is partially correct - 82278 call(s) of encode_bit() |
8 |
Correct |
27 ms |
5568 KB |
Output is partially correct - 79080 call(s) of encode_bit() |
9 |
Correct |
36 ms |
5496 KB |
Output is partially correct - 82278 call(s) of encode_bit() |
10 |
Correct |
40 ms |
5424 KB |
Output is partially correct - 82278 call(s) of encode_bit() |
11 |
Correct |
28 ms |
5696 KB |
Output is partially correct - 82278 call(s) of encode_bit() |
12 |
Correct |
37 ms |
5516 KB |
Output is partially correct - 82278 call(s) of encode_bit() |
13 |
Correct |
44 ms |
6168 KB |
Output is partially correct - 82278 call(s) of encode_bit() |
14 |
Correct |
27 ms |
5460 KB |
Output is partially correct - 82278 call(s) of encode_bit() |
15 |
Correct |
24 ms |
5768 KB |
Output is partially correct - 82278 call(s) of encode_bit() |
16 |
Correct |
54 ms |
6164 KB |
Output is partially correct - 82278 call(s) of encode_bit() |
17 |
Correct |
37 ms |
6088 KB |
Output is partially correct - 82278 call(s) of encode_bit() |
18 |
Correct |
47 ms |
6336 KB |
Output is partially correct - 82278 call(s) of encode_bit() |
19 |
Correct |
34 ms |
5844 KB |
Output is partially correct - 82278 call(s) of encode_bit() |
20 |
Correct |
59 ms |
6556 KB |
Output is partially correct - 82278 call(s) of encode_bit() |
21 |
Correct |
69 ms |
6700 KB |
Output is partially correct - 82278 call(s) of encode_bit() |
22 |
Correct |
41 ms |
6252 KB |
Output is partially correct - 82278 call(s) of encode_bit() |
23 |
Correct |
68 ms |
6888 KB |
Output is partially correct - 82278 call(s) of encode_bit() |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
321 ms |
10452 KB |
Output is partially correct - 82278 call(s) of encode_bit() |
2 |
Correct |
3 ms |
4472 KB |
Output is correct - 94 call(s) of encode_bit() |
3 |
Correct |
27 ms |
5336 KB |
Output is partially correct - 74078 call(s) of encode_bit() |
4 |
Correct |
2 ms |
4604 KB |
Output is correct - 130 call(s) of encode_bit() |
5 |
Correct |
31 ms |
5692 KB |
Output is partially correct - 74078 call(s) of encode_bit() |
6 |
Correct |
28 ms |
5688 KB |
Output is partially correct - 82278 call(s) of encode_bit() |
7 |
Correct |
41 ms |
5972 KB |
Output is partially correct - 82278 call(s) of encode_bit() |
8 |
Correct |
27 ms |
5568 KB |
Output is partially correct - 79080 call(s) of encode_bit() |
9 |
Correct |
36 ms |
5496 KB |
Output is partially correct - 82278 call(s) of encode_bit() |
10 |
Correct |
40 ms |
5424 KB |
Output is partially correct - 82278 call(s) of encode_bit() |
11 |
Correct |
28 ms |
5696 KB |
Output is partially correct - 82278 call(s) of encode_bit() |
12 |
Correct |
37 ms |
5516 KB |
Output is partially correct - 82278 call(s) of encode_bit() |
13 |
Correct |
44 ms |
6168 KB |
Output is partially correct - 82278 call(s) of encode_bit() |
14 |
Correct |
27 ms |
5460 KB |
Output is partially correct - 82278 call(s) of encode_bit() |
15 |
Correct |
24 ms |
5768 KB |
Output is partially correct - 82278 call(s) of encode_bit() |
16 |
Correct |
54 ms |
6164 KB |
Output is partially correct - 82278 call(s) of encode_bit() |
17 |
Correct |
37 ms |
6088 KB |
Output is partially correct - 82278 call(s) of encode_bit() |
18 |
Correct |
47 ms |
6336 KB |
Output is partially correct - 82278 call(s) of encode_bit() |
19 |
Correct |
34 ms |
5844 KB |
Output is partially correct - 82278 call(s) of encode_bit() |
20 |
Correct |
59 ms |
6556 KB |
Output is partially correct - 82278 call(s) of encode_bit() |
21 |
Correct |
69 ms |
6700 KB |
Output is partially correct - 82278 call(s) of encode_bit() |
22 |
Correct |
41 ms |
6252 KB |
Output is partially correct - 82278 call(s) of encode_bit() |
23 |
Correct |
68 ms |
6888 KB |
Output is partially correct - 82278 call(s) of encode_bit() |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
321 ms |
10452 KB |
Output is partially correct - 82278 call(s) of encode_bit() |
2 |
Correct |
3 ms |
4472 KB |
Output is correct - 94 call(s) of encode_bit() |
3 |
Correct |
27 ms |
5336 KB |
Output is partially correct - 74078 call(s) of encode_bit() |
4 |
Correct |
2 ms |
4604 KB |
Output is correct - 130 call(s) of encode_bit() |
5 |
Correct |
31 ms |
5692 KB |
Output is partially correct - 74078 call(s) of encode_bit() |
6 |
Correct |
28 ms |
5688 KB |
Output is partially correct - 82278 call(s) of encode_bit() |
7 |
Correct |
41 ms |
5972 KB |
Output is partially correct - 82278 call(s) of encode_bit() |
8 |
Correct |
27 ms |
5568 KB |
Output is partially correct - 79080 call(s) of encode_bit() |
9 |
Correct |
36 ms |
5496 KB |
Output is partially correct - 82278 call(s) of encode_bit() |
10 |
Correct |
40 ms |
5424 KB |
Output is partially correct - 82278 call(s) of encode_bit() |
11 |
Correct |
28 ms |
5696 KB |
Output is partially correct - 82278 call(s) of encode_bit() |
12 |
Correct |
37 ms |
5516 KB |
Output is partially correct - 82278 call(s) of encode_bit() |
13 |
Correct |
44 ms |
6168 KB |
Output is partially correct - 82278 call(s) of encode_bit() |
14 |
Correct |
27 ms |
5460 KB |
Output is partially correct - 82278 call(s) of encode_bit() |
15 |
Correct |
24 ms |
5768 KB |
Output is partially correct - 82278 call(s) of encode_bit() |
16 |
Correct |
54 ms |
6164 KB |
Output is partially correct - 82278 call(s) of encode_bit() |
17 |
Correct |
37 ms |
6088 KB |
Output is partially correct - 82278 call(s) of encode_bit() |
18 |
Correct |
47 ms |
6336 KB |
Output is partially correct - 82278 call(s) of encode_bit() |
19 |
Correct |
34 ms |
5844 KB |
Output is partially correct - 82278 call(s) of encode_bit() |
20 |
Correct |
59 ms |
6556 KB |
Output is partially correct - 82278 call(s) of encode_bit() |
21 |
Correct |
69 ms |
6700 KB |
Output is partially correct - 82278 call(s) of encode_bit() |
22 |
Correct |
41 ms |
6252 KB |
Output is partially correct - 82278 call(s) of encode_bit() |
23 |
Correct |
68 ms |
6888 KB |
Output is partially correct - 82278 call(s) of encode_bit() |