#include <bits/stdc++.h>
using namespace std;
typedef int64_t llo;
#define mp make_pair
#define pb push_back
#define a first
#define b second
#include "Azer.h"
vector<pair<int,int>> adj[2001];
int dist[2001];
int vis[2001];
int num=0;
int cur=0;
int st=0;
int last=0;
pair<int,int> best;
int num2=0;
int cur2=0;
int n;
vector<int> Answer(){
vector<int> ans2;
for(int i=0;i<n;i++){
ans2.pb(dist[i]);
}
return ans2;
}
void ReceiveA(bool x){
if(st==0){
if(x){
num+=(1<<cur);
}
cur+=1;
if(cur==20){
cur=0;
st=1;
}
else{
return;
}
//cout<<cur<<"<"<<num<<endl;
}
if(st==1){
for(auto j:adj[last]){
if(dist[j.a]==-1 or dist[j.a]>dist[last]+j.b){
dist[j.a]=dist[last]+j.b;
}
}
best={-1,-1};
for(int i=0;i<n;i++){
// //cout<<i<<":::"<<dist[i]<<endl;
if(vis[i]==0 and dist[i]!=-1){
if(best.a==-1){
best={dist[i],i};
}
else{
if(dist[i]<best.a){
best={dist[i],i};
}
}
}
}
//cout<<best.a<<"::"<<best.b<<"::"<<num<<endl;
if(num==0){
SendA(0);
st=3;
}
else if(best.a==-1){
SendA(1);
st=2;
}
else if(best.a<num){
SendA(0);
st=3;
}
else{
SendA(1);
st=2;
}
//cout<<st<<"....."<<endl;
if(st==2){
return;
}
}
if(st==2){
if(x){
num2+=(1<<cur2);
}
cur2+=1;
//cout<<cur2<<";;;;;;;;;;;;;;;"<<endl;
if(cur2==11){
last=num2;
//cout<<num2<<"//"<<endl;
vis[last]=1;
dist[last]=num;
}
else{
return;
}
}
if(st==3){
dist[best.b]=best.a;
vis[best.b]=1;
last=best.b;
for(int i=0;i<20;i++){
if((1<<i)&best.a){
SendA(1);
}
else{
SendA(0);
}
}
for(int i=0;i<11;i++){
if((1<<i)&best.b){
SendA(1);
}
else{
SendA(0);
}
}
}
//cout<<last<<','<<dist[last]<<endl;
st=0;
num=0;
num2=0;
cur2=0;
cur=0;
/* int kk=0;
for(int i=0;i<n;i++){
if(vis[i]==0){
kk=1;
}
}
if(kk){
SendA(0);
}*/
}
void InitA(int nn,int m,vector<int> aa,vector<int> bb,vector<int> cc){
n=nn;
for(int i=0;i<m;i++){
adj[aa[i]].pb({bb[i],cc[i]});
adj[bb[i]].pb({aa[i],cc[i]});
}
for(int i=1;i<n;i++){
dist[i]=-1;
}
vis[0]=1;
SendA(0);
}
/*int main(){
ios_base::sync_with_stdio(false);
cin.tie(NULL);
return 0;
}*/
#include <bits/stdc++.h>
using namespace std;
typedef int64_t llo;
#define mp make_pair
#define pb push_back
#define a first
#define b second
#include "Baijan.h"
vector<pair<int,int>> adj2[2001];
int dist2[2001];
int st2=0;
int last2=0;
int vis2[2001];
pair<int,int> best2;
int ne;
int cur3=0;
int cur4=0;
int num3=0;
int num4=0;
void ReceiveB(bool x){
if(st2==0){
for(auto j:adj2[last2]){
if(dist2[j.a]==-1 or dist2[j.a]>dist2[last2]+j.b){
dist2[j.a]=dist2[last2]+j.b;
}
}
best2={-1,-1};
for(int i=0;i<ne;i++){
if(vis2[i]==0 and dist2[i]!=-1){
if(best2.a==-1){
best2={dist2[i],i};
}
else{
if(dist2[i]<best2.a){
best2={dist2[i],i};
}
}
}
}
//cout<<best2.a<<"::"<<best2.b<<endl;
best2.a=max(best2.a,0);
for(int i=0;i<20;i++){
if((1<<i)&best2.a){
SendB(1);
}
else{
SendB(0);
}
}
st2=1;
return;
}
if(st2==1){
if(x){
st2=2;
}
else{
st2=3;
return;
}
}
if(st2==2){
//cout<<1111<<endl;
st2=0;
dist2[best2.b]=best2.a;
vis2[best2.b]=1;
last2=best2.b;
for(int i=0;i<11;i++){
if((1<<i)&best2.b){
SendB(1);
}
else{
SendB(0);
}
}
}
if(st2==3){
if(cur3<20){
if(x){
num3+=(1<<cur3);
}
cur3++;
return;
}
else{
if(x){
num4+=(1<<cur4);
}
cur4++;
if(cur4==11){
//cout<<20<<endl;
//cout<<num4<<",,"<<num3<<endl;
dist2[num4]=num3;
vis2[num4]=1;
last2=num4;
}
else{
return;
}
}
}
// //cout<<last2<<"<<<>>>>"<<endl;
num3=0;
num4=0;
cur3=0;
cur4=0;
st2=0;
int kk=0;
for(int i=0;i<ne;i++){
if(vis2[i]==0){
kk=1;
}
}
if(kk){
ReceiveB(0);
}
}
void InitB(int nn,int m,vector<int> aa,vector<int> bb,vector<int> cc){
ne=nn;
for(int i=0;i<m;i++){
adj2[aa[i]].pb({bb[i],cc[i]});
adj2[bb[i]].pb({aa[i],cc[i]});
}
for(int i=1;i<ne;i++){
dist2[i]=-1;
}
vis2[0]=1;
}
/*int main(){
ios_base::sync_with_st2dio(false);
cin.tie(NULL);
return 0;
}*/
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Incorrect |
650 ms |
896 KB |
Wrong Answer [2] |
2 |
Halted |
0 ms |
0 KB |
- |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
18 ms |
1280 KB |
Output is correct |
2 |
Incorrect |
554 ms |
896 KB |
Wrong Answer [2] |
3 |
Halted |
0 ms |
0 KB |
- |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Incorrect |
626 ms |
896 KB |
Wrong Answer [2] |
2 |
Halted |
0 ms |
0 KB |
- |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
746 ms |
1840 KB |
Output is correct |
2 |
Correct |
663 ms |
1792 KB |
Output is correct |
3 |
Correct |
896 ms |
24008 KB |
Output is correct |
4 |
Correct |
640 ms |
1536 KB |
Output is correct |
5 |
Correct |
730 ms |
17464 KB |
Output is correct |
6 |
Correct |
578 ms |
1584 KB |
Output is correct |
7 |
Correct |
677 ms |
1856 KB |
Output is correct |
8 |
Correct |
658 ms |
1536 KB |
Output is correct |
9 |
Correct |
1130 ms |
36064 KB |
Output is correct |
10 |
Correct |
1022 ms |
36032 KB |
Output is correct |
11 |
Correct |
1104 ms |
61800 KB |
Output is correct |
12 |
Correct |
1232 ms |
53856 KB |
Output is correct |
13 |
Correct |
727 ms |
1792 KB |
Output is correct |
14 |
Correct |
18 ms |
1536 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
746 ms |
1840 KB |
Output is correct |
2 |
Correct |
663 ms |
1792 KB |
Output is correct |
3 |
Correct |
896 ms |
24008 KB |
Output is correct |
4 |
Correct |
640 ms |
1536 KB |
Output is correct |
5 |
Correct |
730 ms |
17464 KB |
Output is correct |
6 |
Correct |
578 ms |
1584 KB |
Output is correct |
7 |
Correct |
677 ms |
1856 KB |
Output is correct |
8 |
Correct |
658 ms |
1536 KB |
Output is correct |
9 |
Correct |
1130 ms |
36064 KB |
Output is correct |
10 |
Correct |
1022 ms |
36032 KB |
Output is correct |
11 |
Correct |
1104 ms |
61800 KB |
Output is correct |
12 |
Correct |
1232 ms |
53856 KB |
Output is correct |
13 |
Correct |
727 ms |
1792 KB |
Output is correct |
14 |
Correct |
18 ms |
1536 KB |
Output is correct |
15 |
Correct |
916 ms |
1864 KB |
Output is correct |
16 |
Correct |
1084 ms |
1536 KB |
Output is correct |
17 |
Correct |
1196 ms |
1792 KB |
Output is correct |
18 |
Correct |
924 ms |
17600 KB |
Output is correct |
19 |
Correct |
784 ms |
1664 KB |
Output is correct |
20 |
Correct |
1038 ms |
18256 KB |
Output is correct |
21 |
Correct |
922 ms |
1792 KB |
Output is correct |
22 |
Correct |
958 ms |
1792 KB |
Output is correct |
23 |
Correct |
1281 ms |
44080 KB |
Output is correct |
24 |
Correct |
1070 ms |
43856 KB |
Output is correct |
25 |
Correct |
1444 ms |
75024 KB |
Output is correct |
26 |
Correct |
1654 ms |
64584 KB |
Output is correct |
27 |
Correct |
850 ms |
1792 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
746 ms |
1840 KB |
Output is correct |
2 |
Correct |
663 ms |
1792 KB |
Output is correct |
3 |
Correct |
896 ms |
24008 KB |
Output is correct |
4 |
Correct |
640 ms |
1536 KB |
Output is correct |
5 |
Correct |
730 ms |
17464 KB |
Output is correct |
6 |
Correct |
578 ms |
1584 KB |
Output is correct |
7 |
Correct |
677 ms |
1856 KB |
Output is correct |
8 |
Correct |
658 ms |
1536 KB |
Output is correct |
9 |
Correct |
1130 ms |
36064 KB |
Output is correct |
10 |
Correct |
1022 ms |
36032 KB |
Output is correct |
11 |
Correct |
1104 ms |
61800 KB |
Output is correct |
12 |
Correct |
1232 ms |
53856 KB |
Output is correct |
13 |
Correct |
727 ms |
1792 KB |
Output is correct |
14 |
Correct |
18 ms |
1536 KB |
Output is correct |
15 |
Correct |
916 ms |
1864 KB |
Output is correct |
16 |
Correct |
1084 ms |
1536 KB |
Output is correct |
17 |
Correct |
1196 ms |
1792 KB |
Output is correct |
18 |
Correct |
924 ms |
17600 KB |
Output is correct |
19 |
Correct |
784 ms |
1664 KB |
Output is correct |
20 |
Correct |
1038 ms |
18256 KB |
Output is correct |
21 |
Correct |
922 ms |
1792 KB |
Output is correct |
22 |
Correct |
958 ms |
1792 KB |
Output is correct |
23 |
Correct |
1281 ms |
44080 KB |
Output is correct |
24 |
Correct |
1070 ms |
43856 KB |
Output is correct |
25 |
Correct |
1444 ms |
75024 KB |
Output is correct |
26 |
Correct |
1654 ms |
64584 KB |
Output is correct |
27 |
Correct |
850 ms |
1792 KB |
Output is correct |
28 |
Incorrect |
581 ms |
896 KB |
Wrong Answer [2] |
29 |
Halted |
0 ms |
0 KB |
- |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Incorrect |
650 ms |
896 KB |
Wrong Answer [2] |
2 |
Halted |
0 ms |
0 KB |
- |