이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
#include "grader.h"
#include "encoder.h"
#include <bits/stdc++.h>
#define ll long long
#define pii pair<int,int>
#define pll pair<ll,ll>
#define vi vector<int>
#define vl vector<ll>
#define pb push_back
#define mp make_pair
using namespace std;
int dist[1010];
vector<int> adj[1010];
void encode(int n, int h, int m, int *v1, int *v2) {
for( int i = 0 ; i < m ; i++ ) {
int u = v1[i] , v = v2[i];
adj[u].pb(v);
adj[v].pb(u);
}
for( int src = 0 ; src < h ; src++ ) {
queue<int> Q;
memset(dist,-1,sizeof(dist));
Q.push(src);
dist[src] = 0;
while(!Q.empty()) {
int u = Q.front();
Q.pop();
int deg = adj[u].size();
for( int i = 0 ; i < deg ; i++ ) {
int v = adj[u][i];
if(dist[v] == -1) {
Q.push(v);
dist[v] = dist[u]+1;
}
}
}
for( int i = 0 ; i < n ; i++ )
for( int j = 0 ; j < 10 ; j++ )
if(dist[i]&(1<<j))
encode_bit(1);
else
encode_bit(0);
}
}
#include "grader.h"
#include "decoder.h"
#include <bits/stdc++.h>
#define ll long long
#define pii pair<int,int>
#define pll pair<ll,ll>
#define vi vector<int>
#define vl vector<ll>
#define mp make_pair
#define pb push_back
using namespace std;
void decode(int n, int h) {
for( int i = 0 ; i < h ; i++ )
for( int j = 0 ; j < n ; j++ ) {
int val = 0;
for( int k = 0 ; k < 10 ; k++ )
val |= (decode_bit() * (1<<k));
hops(i,j,val);
}
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |