QOJ.ac
QOJ
ID | Problem | Submitter | Result | Time | Memory | Language | File size | Submit time | Judge time |
---|---|---|---|---|---|---|---|---|---|
#444549 | #8517. Interesting Paths | ucup-team3792# | AC ✓ | 571ms | 123784kb | C++14 | 1.5kb | 2024-06-15 20:04:27 | 2024-06-15 20:04:28 |
Judging History
answer
//A tree without skin will surely die.
//A man without face will be alive.
#include<bits/stdc++.h>
using namespace std;
#define int long long
#define mid ((l+r)>>1)
#define lowbit(x) (x&-x)
#define all(x) (x).begin(),(x).end()
#define rep(i,j,k) for (int i=j;i<=k;++i)
#define per(i,j,k) for (int i=j;i>=k;--i)
int const N=1e6+10;
int n,m,rd[N],dp[N],vis[N],Rd[N],Vis[N];
vector<int>a[N];
inline int connectto(int x){
if (x==n) return 1;
if (vis[x]) return vis[x];
for (auto v:a[x])
if (connectto(v)==1) return vis[x]=1;
return vis[x]=-1;
}
inline void solve(){
cin>>n>>m;
while (m--){
int x,y;cin>>x>>y;
a[x].push_back(y);
++Rd[y];
}
queue<int>Q;
Q.push(1);
while (!Q.empty()){
int x=Q.front();Q.pop();
Vis[x]=1;
for (auto v:a[x])
if (!Vis[v]) Vis[v]=1,Q.push(v);
}
rep(i,1,n){
if (!connectto(i) || !Vis[i]) continue;
for (auto j:a[i]) ++rd[j];
}
dp[1]=1;
queue<int>q;q.push(1);
while (!q.empty()){
int x=q.front();q.pop();
for (auto v:a[x]){
if (connectto(v)==-1) continue;
dp[v]+=dp[x],dp[x]=1;
if (!--rd[v]) q.push(v);
}
}
cout<<dp[n]<<'\n';
}
signed main(){
ios::sync_with_stdio(false);
cin.tie(0),cout.tie(0);
int t=1;
// cin>>t;
while (t--) solve();
cerr<<"Time: "<<(double)clock()/CLOCKS_PER_SEC<<" s\n";
return 0;
}
Details
Tip: Click on the bar to expand more detailed information
Test #1:
score: 100
Accepted
time: 9ms
memory: 34984kb
input:
5 7 1 3 3 5 1 2 2 3 3 4 4 5 2 4
output:
4
result:
ok 1 number(s): "4"
Test #2:
score: 0
Accepted
time: 0ms
memory: 33600kb
input:
5 3 1 3 2 3 2 5
output:
0
result:
ok 1 number(s): "0"
Test #3:
score: 0
Accepted
time: 4ms
memory: 31320kb
input:
2 0
output:
0
result:
ok 1 number(s): "0"
Test #4:
score: 0
Accepted
time: 3ms
memory: 35316kb
input:
2 1 1 2
output:
1
result:
ok 1 number(s): "1"
Test #5:
score: 0
Accepted
time: 9ms
memory: 35240kb
input:
10 20 2 8 5 8 4 8 3 10 3 7 2 7 2 5 1 7 6 9 6 10 2 4 5 9 2 10 3 9 7 8 4 10 3 6 2 3 5 7 6 8
output:
0
result:
ok 1 number(s): "0"
Test #6:
score: 0
Accepted
time: 4ms
memory: 34360kb
input:
10 30 8 9 1 5 3 6 4 6 4 7 6 9 3 5 5 6 3 8 1 4 3 4 7 8 2 4 4 5 1 8 6 10 2 10 9 10 1 2 8 10 2 7 2 8 2 5 7 9 2 6 4 8 1 7 1 6 7 10 4 9
output:
19
result:
ok 1 number(s): "19"
Test #7:
score: 0
Accepted
time: 4ms
memory: 35404kb
input:
20 57 6 20 5 9 8 11 6 17 5 18 14 16 6 18 8 18 1 3 17 20 2 16 4 19 2 15 7 17 17 19 8 16 11 15 13 16 5 20 4 14 5 16 7 12 10 12 3 12 8 13 1 5 6 11 13 17 11 16 2 6 4 5 14 15 3 14 9 13 8 10 18 20 15 17 6 12 5 17 2 10 8 17 15 16 15 20 5 19 10 15 1 2 4 20 4 18 3 16 2 12 8 19 10 19 2 11 12 17 12 20 5 7 1 15
output:
21
result:
ok 1 number(s): "21"
Test #8:
score: 0
Accepted
time: 4ms
memory: 33872kb
input:
16 19 5 10 10 13 12 13 15 16 7 11 1 6 14 15 3 4 6 8 11 12 4 5 13 14 5 7 9 12 1 2 2 4 5 12 8 9 1 3
output:
5
result:
ok 1 number(s): "5"
Test #9:
score: 0
Accepted
time: 2ms
memory: 34120kb
input:
14 91 3 13 1 9 4 12 1 12 11 14 8 10 9 14 5 11 9 11 1 11 1 2 10 14 1 7 4 9 2 10 13 14 2 6 4 6 12 13 5 13 2 8 1 14 9 10 3 8 2 11 5 14 7 9 6 10 7 11 1 10 12 14 3 14 3 7 7 8 1 13 10 11 2 14 6 14 8 9 6 9 2 4 4 7 4 14 9 13 2 7 6 12 5 7 4 5 2 9 11 12 6 8 8 11 4 8 7 14 7 12 5 12 2 5 11 13 6 7 6 11 7 13 3 4 ...
output:
79
result:
ok 1 number(s): "79"
Test #10:
score: 0
Accepted
time: 9ms
memory: 36740kb
input:
1000000 0
output:
0
result:
ok 1 number(s): "0"
Test #11:
score: 0
Accepted
time: 111ms
memory: 46916kb
input:
10000 1000000 3186 5896 193 9783 2762 3101 2793 5391 2587 9231 2991 6139 317 448 361 5290 7372 7580 279 2589 5476 7584 2829 3375 3785 8539 5898 7644 460 2025 2029 6959 1249 8686 1787 5348 840 7031 9515 9862 6122 9224 3911 5359 725 4062 985 5179 3337 4188 6961 8345 5325 6480 8308 9019 7827 9054 759 3...
output:
0
result:
ok 1 number(s): "0"
Test #12:
score: 0
Accepted
time: 343ms
memory: 70156kb
input:
1000000 1000000 227867 264986 543264 885751 368699 709020 126827 786083 15773 700372 582092 653193 597763 662903 24964 669822 118877 700066 650866 776787 264084 934355 104858 656657 393038 691935 254875 794624 349005 722140 77011 854592 264566 829978 395038 833643 180017 193646 28588 147277 71335 79...
output:
0
result:
ok 1 number(s): "0"
Test #13:
score: 0
Accepted
time: 131ms
memory: 77480kb
input:
1000000 1000000 277718 460482 147752 592243 672428 950124 290176 395254 169855 591213 23051 603108 683561 886805 369178 558263 15523 306646 851733 898093 16252 953612 195928 796663 298711 941197 807239 939884 477390 577792 177636 375148 199307 279986 171470 388424 864738 896318 520095 685892 281955 ...
output:
987489
result:
ok 1 number(s): "987489"
Test #14:
score: 0
Accepted
time: 72ms
memory: 72696kb
input:
1000000 500000 220011 331608 383898 452284 478455 598602 535465 835096 34781 509172 284635 653292 553793 686935 595558 905694 106231 182420 72160 205103 435467 474167 133438 709831 447900 993899 311233 441916 30052 897382 34200 490411 24306 365889 346868 769417 163206 392108 340962 818759 699298 730...
output:
442134
result:
ok 1 number(s): "442134"
Test #15:
score: 0
Accepted
time: 114ms
memory: 47944kb
input:
10000 1000000 769 5111 2621 5295 616 5384 603 9873 257 7962 4616 5977 4420 7963 1225 7007 5292 7230 6869 8661 5669 5714 7618 9925 2384 2393 1029 7575 3713 6965 1131 7793 6479 9949 5650 5880 6640 6735 4012 7870 6937 8667 3173 8439 1618 7794 1166 3266 4671 5333 3778 5189 1386 8839 1577 6482 764 7866 2...
output:
893098
result:
ok 1 number(s): "893098"
Test #16:
score: 0
Accepted
time: 150ms
memory: 48980kb
input:
25000 1000000 3286 13917 7601 14129 18179 21682 12738 14859 2310 11787 13237 13313 1403 20530 2019 12776 7246 21258 109 4285 1250 5654 3281 16015 4357 7111 509 5915 8595 11893 15252 17559 5074 7653 5468 21483 4532 20843 9827 24533 5902 23960 2056 5538 11183 12864 1648 9275 19962 23304 12806 18024 41...
output:
687486
result:
ok 1 number(s): "687486"
Test #17:
score: 0
Accepted
time: 291ms
memory: 79520kb
input:
1000000 1000000 145889 828965 101891 872944 306461 891194 479634 562124 460093 702806 434097 687914 868462 943584 522148 811696 202648 321281 413792 709955 9764 601279 257576 742047 310620 793868 444655 595009 47265 57177 277171 641024 281005 694629 508946 736418 264412 927342 33742 591190 274183 92...
output:
171017
result:
ok 1 number(s): "171017"
Test #18:
score: 0
Accepted
time: 401ms
memory: 86684kb
input:
1000000 1000000 987682 991819 630763 967194 682365 816105 15669 988580 649157 744816 777657 787054 515972 839941 428069 860906 127350 850842 91250 505765 522849 651379 194742 204624 71459 470879 181532 208277 330718 442774 486299 868372 186798 859668 474733 619379 997653 998142 758371 812576 407121 ...
output:
500000
result:
ok 1 number(s): "500000"
Test #19:
score: 0
Accepted
time: 542ms
memory: 97500kb
input:
1000000 999943 53949 54134 897043 897608 142382 142409 739225 740088 316622 317223 612614 612628 962920 963039 326871 327062 865159 865823 436490 437418 543160 544108 337346 337592 964581 964673 79918 80229 302781 302829 203405 203527 152922 152944 131508 132109 938757 939268 266846 266862 492730 49...
output:
3954
result:
ok 1 number(s): "3954"
Test #20:
score: 0
Accepted
time: 387ms
memory: 72344kb
input:
500251 1000000 9947 11131 89269 90762 138209 138334 35780 36236 324719 324911 155905 156017 302265 302981 230612 230795 179197 180540 413336 413824 382765 383223 242408 244400 186393 187212 323869 323912 471208 472286 486731 486805 69468 71026 439179 439816 231003 231616 390438 390831 445002 445640 ...
output:
499751
result:
ok 1 number(s): "499751"
Test #21:
score: 0
Accepted
time: 443ms
memory: 96780kb
input:
963427 1000000 756122 756156 561525 561536 235985 236007 613316 613342 870234 870247 851771 851828 455702 455708 880636 880643 75192 75198 420611 420618 89553 89606 800364 800366 6742 6767 455571 455594 732558 732565 110656 110680 779653 779657 636588 636602 740997 741035 216394 216434 77384 77385 1...
output:
36575
result:
ok 1 number(s): "36575"
Test #22:
score: 0
Accepted
time: 474ms
memory: 107336kb
input:
1000000 1000000 558447 558448 407630 407633 213948 213949 198910 198912 698681 698682 707290 707292 14135 14137 40970 40978 463970 463971 951953 951956 535948 535949 290406 290410 979508 979509 358721 358722 727174 727176 546791 546792 858586 858589 570708 570709 678280 678283 440169 440170 577316 5...
output:
125011
result:
ok 1 number(s): "125011"
Test #23:
score: 0
Accepted
time: 454ms
memory: 103808kb
input:
1000000 1000000 86248 86251 532234 532235 495597 495599 438265 438267 968894 968895 472438 472440 999816 999818 295216 295217 874654 874655 323449 323454 119717 119718 48635 48636 241458 241460 323449 323450 94703 94706 951489 951490 291403 291404 875556 875557 49412 49414 209004 209005 809812 80981...
output:
250001
result:
ok 1 number(s): "250001"
Test #24:
score: 0
Accepted
time: 571ms
memory: 123784kb
input:
1000000 999999 401523 401524 707079 707080 520426 520427 129319 129320 730775 730776 691407 691408 471148 471149 189429 189430 424401 424402 707207 707208 154396 154397 759908 759909 412175 412176 805859 805860 909958 909959 150392 150393 907342 907343 417376 417377 601790 601791 724403 724404 35205...
output:
1
result:
ok 1 number(s): "1"
Test #25:
score: 0
Accepted
time: 103ms
memory: 47576kb
input:
1415 1000000 267 519 42 835 306 842 886 1412 700 1199 958 1293 92 487 193 1037 544 590 810 1363 229 607 206 1286 608 642 281 1224 720 1027 113 787 118 374 627 1097 175 1199 183 1121 18 1406 365 503 600 1202 287 981 180 398 870 1016 409 1155 864 1307 712 1309 65 582 39 60 5 541 787 1337 736 958 1202 ...
output:
998587
result:
ok 1 number(s): "998587"
Test #26:
score: 0
Accepted
time: 86ms
memory: 46352kb
input:
1414 998991 397 429 866 1016 409 1101 240 454 267 938 9 970 94 109 473 1311 767 1155 252 370 182 613 139 955 116 321 1066 1144 1011 1122 1247 1282 433 809 255 953 1313 1333 10 950 1058 1208 494 600 349 369 537 1012 123 1118 149 539 47 321 536 1096 223 875 547 562 26 317 1203 1245 956 1263 704 1072 2...
output:
997579
result:
ok 1 number(s): "997579"
Test #27:
score: 0
Accepted
time: 108ms
memory: 74824kb
input:
1000000 998991 234789 795210 91941 754122 747677 896007 344635 430364 599439 705004 120147 586537 73552 86709 209503 816560 436215 819408 600756 817215 301264 704189 163900 945551 115787 269217 37272 289783 200626 351053 277178 571637 235083 718740 82476 892729 413061 807263 366100 806564 195698 560...
output:
997579
result:
ok 1 number(s): "997579"
Test #28:
score: 0
Accepted
time: 106ms
memory: 74396kb
input:
1000000 1000000 368406 854062 619199 859849 228408 362095 513960 877053 801742 884339 222736 721090 41570 865619 800334 816559 63571 510218 159258 192195 840210 957865 743127 868555 207780 239075 138464 208672 105314 792016 391815 572706 43405 60814 233729 555289 661063 806616 645615 837773 323700 9...
output:
998587
result:
ok 1 number(s): "998587"
Extra Test:
score: 0
Extra Test Passed