QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#723213#67. Two TransportationsL_Wave0 153ms22356kbC++203.5kb2024-11-07 21:26:202024-11-07 21:26:20

Judging History

你现在查看的是最新测评结果

  • [2024-11-07 21:26:20]
  • 评测
  • 测评结果:0
  • 用时:153ms
  • 内存:22356kb
  • [2024-11-07 21:26:20]
  • 提交

Azer

// ---------------- A ----------------

#include <bits/stdc++.h>
#define rep(i, a, b) for (int i = (a), i##ABRACADABRA = (b); i <= i##ABRACADABRA; i++)
#define drep(i, a, b) for (int i = (a), i##ABRACADABRA = (b); i >= i##ABRACADABRA; i--)
using namespace std;
using ll = long long;

#ifndef LOCAL
#include"Azer.h"
#endif

namespace A{
  int n,m,U[2]={11,9},ty,num,V[2],v,lst,now,dis[3010];
  bool vis[3010],shit;
  vector<pair<int,int>>G[3010];
  void S(int x,int t){
    // printf("A send: x=%d\n",x);
    drep(i,t-1,0)SendA(x>>i&1);
  }
  bool ins(bool x){
    V[ty]=V[ty]<<1|x;
    return --num;
  }
  void sty(int nt){
    V[ty=nt]=0;
    num=U[nt];
  }
  void upd(int u,int d){
    // printf("A upd: u=%d,d=%d\n",u,d);
    lst=dis[u]=d,vis[u]=1;
    for (auto [v,w]:G[u])
      if (dis[v]>w+d)dis[v]=w+d;
    v=n;
    rep(i,1,n)if (!vis[i]&&dis[v]>dis[i])v=i;
    now=dis[v];
    sty(1),S(now-lst,U[1]);
    // printf("A get v=%d\n",v);
  }
  void InitA(int _n,int _m,vector<int>u,vector<int>v,vector<int>w){
    if (shit)assert(0);
    shit=1;
    memset(dis,0x3f,sizeof(dis));
    memset(vis,0,sizeof(vis));
    n=_n,m=_m;
    rep(i,0,m-1){
      G[u[i]].push_back({v[i],w[i]});
      G[v[i]].push_back({u[i],w[i]});
    }
    upd(0,0);
  }
  void ReceiveA(bool x){
    if (ins(x))return ;
    if (!ty)upd(V[0],V[1]+lst);
    else{
      // printf("A rec w=%d\n",V[1]);
      if (V[1]+lst>=now){ // change to > when B
        // puts("A win now");
        if (v!=n){
          S(v,U[0]);
          upd(v,now);
        }
      }else
        sty(0);
    }
  }
  vector<int>Answer(){
    vector<int>res(n);
    rep(i,0,n-1)res[i]=dis[i];
    return res;
  }
}

void InitA(int _n,int _m,vector<int>u,vector<int>v,vector<int>w){A::InitA(_n,_m,u,v,w);}
void ReceiveA(bool x){A::ReceiveA(x);}
vector<int>Answer(){return A::Answer();}

Baijan

// ---------------- B ----------------

#ifndef LOCAL
#include"Baijan.h"
#include <bits/stdc++.h>
#define rep(i, a, b) for (int i = (a), i##ABRACADABRA = (b); i <= i##ABRACADABRA; i++)
#define drep(i, a, b) for (int i = (a), i##ABRACADABRA = (b); i >= i##ABRACADABRA; i--)
using namespace std;
using ll = long long;
#endif

namespace B{
  int n,m,U[2]={11,9},ty,num,V[2],v,lst,now,dis[3010];
  bool vis[3010];
  vector<pair<int,int>>G[3010];
  void S(int x,int t){
    // printf("B send: x=%d\n",x);
    drep(i,t-1,0)SendB(x>>i&1);
  }
  bool ins(bool x){
    V[ty]=V[ty]<<1|x;
    return --num;
  }
  void sty(int nt){
    V[ty=nt]=0;
    num=U[nt];
  }
  void upd(int u,int d){
    // printf("B upd: u=%d,d=%d\n",u,d);
    lst=dis[u]=d,vis[u]=1;
    for (auto [v,w]:G[u])
      if (dis[v]>w+d)dis[v]=w+d;
    v=n;
    rep(i,1,n)if (!vis[i]&&dis[v]>dis[i])v=i;
    now=dis[v];
    sty(1),S(now-lst,U[1]);
    // printf("B get v=%d\n",v);
  }
  void InitB(int _n,int _m,vector<int>u,vector<int>v,vector<int>w){
    memset(dis,0x3f,sizeof(dis));
    memset(vis,0,sizeof(vis));
    n=_n,m=_m;
    rep(i,0,m-1){
      G[u[i]].push_back({v[i],w[i]});
      G[v[i]].push_back({u[i],w[i]});
    }
    upd(0,0);
  }
  void ReceiveB(bool x){
    if (ins(x))return ;
    if (!ty)upd(V[0],V[1]);
    else{
      // printf("B rec w=%d\n",V[1]);
      if (V[1]+lst>now){ // change to >= when A
        // puts("B win now");
        if (v!=n){
          S(v,U[0]);
          upd(v,now);
        }
      }else
        sty(0);
    }
  }
}

void InitB(int _n,int _m,vector<int>u,vector<int>v,vector<int>w){B::InitB(_n,_m,u,v,w);}
void ReceiveB(bool x){B::ReceiveB(x);}

详细

Subtask #1:

score: 0
Wrong Answer

Test #1:

score: 0
Wrong Answer
time: 1ms
memory: 3988kb

input:

1 0 0 1 1 1 1 1 1 -1
0 1 0 0 0 1 0 1 1 -1
-1

output:

-1
0 1 0 1 1 0 1 0 0 0 0 1 1 0 0 1 0 1 0 0 0 1 0 0 0 1 1 1 1 -1
-1
-1

input:


output:

0
1061109567
1061109567
1061109567
1061109567
1061109567
1061109567
1061109567
1061109567
1061109567
1061109567
1061109567
1061109567
1061109567
1061109567
1061109567
1061109567
1061109567
1061109567
1061109567
1061109567
1061109567
1061109567
1061109567
1061109567
1061109567
1061109567
1061109567
1...

result:

wrong answer 2nd lines differ - expected: '2417', found: '1061109567'

Subtask #2:

score: 0
Wrong Answer

Test #7:

score: 8
Accepted
time: 0ms
memory: 3948kb

input:

1 0 0 1 1 1 1 1 1 -1
-1
-1

output:

-1
1 0 0 1 1 1 1 1 1 -1
-1

input:


output:

0

result:

ok single line: '0'

Test #8:

score: 0
Wrong Answer
time: 1ms
memory: 3956kb

input:

1 0 0 1 1 1 1 1 1 -1
1 0 1 0 0 0 1 1 1 -1
-1

output:

-1
0 1 1 0 1 0 1 0 1 0 0 1 0 0 1 1 1 0 0 0 0 0 1 1 0 1 0 1 0 -1
-1
-1

input:


output:

0
1061109567
1061109567
1061109567
1061109567
1061109567
1061109567
1061109567
1061109567
1061109567
1061109567
1061109567
1061109567
1061109567
1061109567
1061109567
1061109567
1061109567
1061109567
1061109567
1061109567
1061109567
1061109567
1061109567
1061109567
1061109567
1061109567
1061109567
1...

result:

wrong answer 2nd lines differ - expected: '128264', found: '1061109567'

Subtask #3:

score: 0
Wrong Answer

Test #14:

score: 0
Wrong Answer
time: 1ms
memory: 4256kb

input:

1 0 0 1 1 1 0 0 1 -1
0 0 0 0 1 1 1 0 0 1 1 0 0 0 0 0 0 0 1 0 -1
0 1 1 0 0 1 0 0 1 1 1 0 0 1 0 0 1 1 0 1 -1
0 0 0 0 0 0 1 0 0 1 1 1 0 1 1 1 0 0 0 1 -1
0 1 1 0 1 0 1 1 0 -1
0 1 0 1 0 0 1 1 1 -1
0 0 0 0 1 1 0 0 1 1 0 0 1 1 1 0 1 1 1 0 0 0 1 1 1 0 0 0 1 -1
0 1 1 0 1 0 0 1 1 1 1 0 1 0 1 0 1 1 0 1 -1
1 1 ...

output:

-1
1 1 0 1 0 0 1 0 1 -1
0 0 1 1 0 1 1 0 0 -1
0 1 1 1 0 0 1 1 0 -1
0 1 0 0 1 1 0 1 1 0 1 1 1 0 1 1 0 0 1 1 0 0 0 1 0 1 1 1 1 -1
1 1 1 0 1 1 1 0 1 1 1 0 1 0 0 0 1 1 1 0 -1
0 1 1 1 1 1 1 0 1 0 1 0 1 1 1 1 1 0 1 1 -1
1 1 0 1 0 0 1 0 0 -1
1 0 1 0 0 1 1 0 0 -1
1 0 0 0 1 0 0 0 0 -1
1 0 0 0 1 1 1 1 1 -1
-1

input:


output:

0
1061109567
1061109567
1061109567
1061109567
1061109567
1061109567
1061109567
1061109567
1061109567
1061109567
1061109567
1061109567
1061109567
1061109567
1061109567
1061109567
1061109567
1061109567
392
1061109567
1061109567
1061109567
1061109567
1061109567
1061109567
1061109567
1061109567
10611095...

result:

wrong answer 2nd lines differ - expected: '3328', found: '1061109567'

Subtask #4:

score: 0
Wrong Answer

Test #24:

score: 0
Wrong Answer
time: 1ms
memory: 3896kb

input:

1 0 0 1 1 1 1 1 1 -1
0 1 0 1 0 1 1 0 0 -1
-1

output:

-1
0 1 0 0 1 0 0 1 1 0 0 1 1 0 0 1 0 0 0 1 0 1 1 1 0 1 1 1 0 -1
-1
-1

input:


output:

0
1061109567
1061109567
1061109567
1061109567
1061109567
1061109567
1061109567
1061109567
1061109567
1061109567
1061109567
1061109567
1061109567
1061109567
1061109567
1061109567
1061109567
1061109567
1061109567
1061109567
1061109567
1061109567
1061109567
1061109567
1061109567
1061109567
1061109567
1...

result:

wrong answer 2nd lines differ - expected: '1881', found: '1061109567'

Subtask #5:

score: 0
Wrong Answer

Test #38:

score: 0
Wrong Answer
time: 1ms
memory: 3900kb

input:

0 0 1 0 1 1 1 1 0 -1
0 1 1 1 0 1 1 1 1 0 0 0 1 1 1 0 0 0 0 1 -1
-1
-1

output:

-1
1 0 0 1 1 1 1 1 1 -1
1 0 1 1 0 1 1 0 1 -1
-1

input:


output:

0
1061109567
1061109567
1061109567
1061109567
1061109567
1061109567
1061109567
1061109567
1061109567
1061109567
1061109567
1061109567
1061109567
1061109567
1061109567
1061109567
1061109567
1061109567
1061109567
1061109567
1061109567
1061109567
1061109567
1061109567
1061109567
1061109567
1061109567
1...

result:

wrong answer 2nd lines differ - expected: '3467', found: '1061109567'

Subtask #6:

score: 0
Wrong Answer

Test #51:

score: 0
Wrong Answer
time: 1ms
memory: 3940kb

input:

1 0 0 1 1 1 1 1 1 -1
0 1 0 0 0 1 1 1 1 -1
-1

output:

-1
0 1 0 1 1 0 0 0 0 0 1 0 1 0 1 1 1 1 0 1 1 0 1 0 0 1 0 1 0 -1
-1
-1

input:


output:

0
1061109567
1061109567
1061109567
1061109567
1061109567
1061109567
1061109567
1061109567
1061109567
1061109567
1061109567
1061109567
1061109567
1061109567
1061109567
1061109567
1061109567
1061109567
1061109567
1061109567
1061109567
1061109567
1061109567
1061109567
1061109567
1061109567
1061109567
1...

result:

wrong answer 2nd lines differ - expected: '4745', found: '1061109567'

Subtask #7:

score: 0
Wrong Answer

Test #64:

score: 16
Accepted
time: 8ms
memory: 4108kb

input:

1 1 1 1 1 0 0 0 0 -1
1 0 0 0 1 1 1 0 1 0 0 1 0 0 0 1 1 1 1 0 -1
1 0 0 0 0 1 1 0 0 1 1 1 1 1 0 1 0 1 1 1 -1
0 1 0 0 1 0 1 1 0 1 1 0 0 1 1 0 0 1 1 0 -1
1 0 0 0 1 0 1 0 1 0 1 0 1 1 1 1 1 0 1 0 -1
0 1 1 1 1 1 0 0 0 1 0 0 0 1 1 1 1 1 0 1 -1
0 0 0 0 0 1 0 1 0 1 0 1 1 1 0 1 0 1 1 1 -1
1 1 1 0 1 1 1 0 0 1 0...

output:

-1
1 1 1 1 1 0 0 1 1 -1
1 1 1 1 1 0 0 1 1 -1
1 1 1 1 1 0 0 1 1 -1
1 0 0 0 1 0 1 0 0 -1
1 1 0 1 0 1 1 0 1 -1
0 1 0 0 1 0 1 1 0 -1
1 1 1 1 0 1 0 0 1 -1
0 1 1 1 1 1 0 1 1 -1
1 1 0 0 1 0 0 0 1 -1
1 1 1 1 0 0 1 1 0 -1
1 1 1 0 0 1 1 1 0 -1
1 1 0 1 0 1 1 1 0 -1
1 1 1 0 1 0 1 0 0 -1
1 1 0 0 0 1 1 0 1 -1
1 1...

input:


output:

0
25855
513884
451446
379664
463677
147972
259014
115396
537065
61376
510191
95200
328777
282337
199131
72153
405843
215292
529082
413220
99569
275396
215884
52889
281825
182731
64473
510973
545141
417123
190844
319517
483688
15462
490221
521781
384795
539004
457181
146029
122086
1730
31958
265013
7...

result:

ok 2000 lines

Test #65:

score: 16
Accepted
time: 153ms
memory: 22356kb

input:

0 0 0 1 0 1 1 1 1 -1
0 0 0 0 1 0 1 0 1 -1
0 0 0 0 0 1 1 1 1 -1
0 0 0 0 0 1 0 0 1 -1
0 0 0 0 0 0 1 1 1 -1
0 0 0 0 1 1 0 1 0 -1
0 0 0 0 1 1 0 0 1 -1
0 0 0 0 1 0 1 0 0 -1
0 0 0 0 0 1 1 1 0 -1
0 0 0 0 0 1 0 0 0 -1
0 0 0 0 1 0 1 1 1 -1
0 0 0 0 1 0 0 0 1 -1
0 0 0 0 1 1 0 1 1 -1
0 0 0 0 1 0 1 1 0 -1
0 0 0 ...

output:

-1
0 0 0 0 0 0 0 1 1 0 1 0 1 1 1 1 0 0 1 0 0 0 0 0 0 0 1 1 0 -1
1 0 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 1 1 0 -1
1 0 1 0 1 1 1 0 1 0 0 0 0 0 0 0 0 0 1 0 -1
0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 1 0 0 -1
0 1 1 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 1 -1
0 0 1 1 0 1 1 1 1 0 0 0 0 0 0 0 0 1 0 1 -1
1 1 1 0 1 0 1 1 1 0 1...

input:


output:

0
6187
1398
17
6163
4742
4598
2337
2237
6475
6001
5268
2245
6132
4925
1482
4253
1962
6642
2449
2704
3396
5449
2492
706
835
1879
3203
6855
4265
546
1231
2390
2300
4651
1353
1673
6724
6753
360
4275
6749
3400
1385
2945
6010
5339
226
2511
4558
1033
4708
4330
1882
1185
3535
5071
3843
1252
110
6571
6727
3...

result:

ok 2000 lines

Test #66:

score: 16
Accepted
time: 150ms
memory: 20428kb

input:

0 0 0 0 0 0 1 1 0 -1
1 1 1 0 1 1 1 0 0 1 0 0 0 0 0 1 1 1 0 0 -1
0 0 0 0 0 0 1 1 0 0 0 1 1 1 0 0 1 1 1 1 0 0 0 0 1 0 0 1 0 -1
0 0 0 0 0 0 1 0 0 0 1 1 0 0 1 0 0 0 1 0 0 0 0 0 1 0 1 0 0 -1
0 0 0 0 0 0 1 1 1 1 0 0 0 1 1 0 1 0 1 0 0 0 0 1 1 0 1 0 0 -1
0 0 0 0 0 0 0 1 1 1 0 1 1 0 0 1 0 1 1 1 0 0 0 1 0 1 1...

output:

-1
0 0 1 0 1 0 1 0 0 -1
0 0 0 0 0 0 1 0 0 0 1 1 0 1 0 0 1 1 0 0 0 0 0 1 0 0 0 0 0 -1
0 0 0 0 0 0 1 1 1 0 1 0 0 0 1 1 1 0 0 1 0 0 0 0 1 0 0 1 1 -1
0 0 0 0 0 0 0 1 0 1 0 1 1 0 0 0 1 1 1 0 0 0 0 0 1 1 0 1 0 -1
0 0 0 0 0 0 1 0 1 0 1 1 1 0 1 1 1 0 1 0 0 0 0 1 0 1 0 1 1 -1
0 0 0 0 0 0 1 1 1 0 0 0 1 1 0 1 ...

input:


output:

0
5455
4313
3996
4463
4115
2413
1141
7939
4669
5854
7806
7612
3394
7713
441
4956
1630
751
2070
4241
6754
3518
3736
3158
549
4590
6798
842
1597
7637
3679
6104
7953
5654
3951
1877
2075
5983
6633
5724
2967
2362
527
7670
3759
3471
4089
508
1187
5437
3533
3003
7429
7499
5966
7484
949
1545
1862
542
3370
1...

result:

ok 2000 lines

Test #67:

score: 0
Wrong Answer
time: 2ms
memory: 4056kb

input:

1 0 0 1 1 1 1 1 1 -1
0 1 1 0 1 1 0 0 1 -1
0 1 1 0 1 0 0 1 0 -1
0 0 0 1 1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1 1 0 1 1 1 0 1 0 0 -1
0 1 1 0 0 1 0 0 0 -1
0 0 1 0 1 1 0 1 0 -1
0 0 0 1 1 1 0 1 0 1 0 1 1 1 1 1 0 1 1 1 0 0 1 1 1 0 0 0 1 -1
0 1 1 1 1 1 1 0 0 1 0 0 0 1 0 0 0 1 1 0 -1
0 1 0 1 1 1 0 0 1 0 1 0 0 0 1 ...

output:

-1
0 0 0 1 0 0 1 1 0 1 0 0 1 1 0 1 0 0 1 0 0 0 0 0 0 0 1 1 1 -1
1 0 0 0 0 1 1 0 0 1 1 0 0 0 0 1 0 1 1 1 -1
1 0 0 0 0 1 1 1 1 1 0 0 1 0 0 1 1 1 0 1 -1
0 1 0 1 0 1 1 0 0 1 1 0 0 0 1 1 0 1 0 0 0 0 1 1 0 1 1 1 0 -1
0 1 0 0 1 0 0 1 0 1 1 0 0 0 1 0 0 0 0 0 -1
0 0 1 0 1 0 1 1 0 0 0 0 0 1 0 1 1 0 0 1 -1
1 1...

input:


output:

0
1061109567
1061109567
1061109567
1061109567
1061109567
1061109567
1061109567
1061109567
1061109567
1061109567
1061109567
1061109567
1061109567
1061109567
1061109567
1061109567
1061109567
1061109567
1061109567
1061109567
1061109567
1061109567
1061109567
1061109567
1061109567
1061109567
1061109567
1...

result:

wrong answer 2nd lines differ - expected: '79964', found: '1061109567'