#include "Azer.h"
#include <vector>
#include <bits/stdc++.h>
namespace {
int N;
int variable_example[500000];
int cnt;
} // namespace
using namespace std;
#define ll long long
#define pb push_back
#define ff first
#define ss second
#define pii pair<int,int>
const int maxq=58000*5,maxn=2000,inf=1e9;
int cur=0,tot=0,pos=0,S=0;
bool in[maxq];
int dist[maxn];
vector<pii>adj[maxn];
void calc(){
fill(dist,dist+maxn,inf);
priority_queue<pii,vector<pii>,greater<pii>>pq;
pq.push({0,0});
dist[0]=0;
while(!pq.empty()){
auto [d,i]=pq.top();
pq.pop();
if(dist[i]!=d) continue;
for(auto [j,w]:adj[i]){
if(dist[i]+w<dist[j]){
dist[j]=dist[i]+w;
pq.push({dist[j],j});
}
}
}
}
bool first=false;
void InitA(int N, int A, vector<int> U, vector<int> V,vector<int> C) {
::N = N;
for(int i=0;i<A;i++){
adj[U[i]].pb({V[i],C[i]});
adj[V[i]].pb({U[i],C[i]});
// cerr<<"A : "<<U[i]<<' '<<V[i]<<' '<<C[i]<<"\n";
}
for(int i=0;i<N;i++){
SendA(true);//increase counter
}
}
void ReceiveA(bool x) {
if(cnt%22==0){
if(x==false){
S++;
return;
}
}
in[cnt++]=x;
if(cnt%22==0){
pos++;
int T=0,D=0;
for(int j=0;j<12;j++){
T+=(in[pos+j]?(1<<j):0);
}
pos+=12;
for(int j=0;j<9;j++){
D+=(in[pos+j]?(1<<j):0);
}
pos+=9;
adj[S].pb({T,D});
adj[T].pb({S,D});
// cerr<<"new : "<<S<<' '<<T<<' '<<D<<endl;
}
// cerr<<"in "<<x<<' '<<cnt<<"\n";
}
vector<int>Answer(){
calc();
vector<int>ans(N);
for(int i=0;i<N;i++){
ans[i]=dist[i];
}
return ans;
}
#include "Baijan.h"
#include <vector>
#include <bits/stdc++.h>
using namespace std;
namespace {
int N,B;
int cnt;
vector<int>S,T,D;
} // namespace
int node=-1;
void send_number(int x,int bit){
for(int i=0;i<bit;i++){
SendB(x&(1<<i)?true:false);
}
}
void run(){//return all adjacent
// cerr<<"run : "<<node<<endl;
for(int i=0;i<B;i++){
if(S[i]==node){
send_number(1,1);
send_number(T[i],12);
send_number(D[i],9);
continue;
}
}
send_number(0,1);
}
void InitB(int N, int B, vector<int> S, vector<int> T, vector<int> D) {
::N = N;
::B = B;
::S = S;
::T = T;
::D = D;
}
void ReceiveB(bool y) {
node++;
run();
}
# | 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... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |