QOJ.ac
QOJ
ID | 题目 | 提交者 | 结果 | 用时 | 内存 | 语言 | 文件大小 | 提交时间 | 测评时间 |
---|---|---|---|---|---|---|---|---|---|
#518630 | #8517. Interesting Paths | rgnerdplayer | AC ✓ | 678ms | 144560kb | C++20 | 1.4kb | 2024-08-13 23:13:43 | 2024-08-13 23:13:47 |
Judging History
answer
#include <bits/stdc++.h>
using namespace std;
using i64 = long long;
int main() {
cin.tie(nullptr)->sync_with_stdio(false);
auto solve = [&]() {
int n, m;
cin >> n >> m;
vector<vector<int>> adj(n), radj(n);
for (int i = 0; i < m; i++) {
int u, v;
cin >> u >> v;
u--, v--;
adj[u].push_back(v);
radj[v].push_back(u);
}
auto work = [&](int s, auto &adj) {
vector<int> vis(n);
auto dfs = [&](auto dfs, int u) -> void {
vis[u] = true;
for (auto v : adj[u]) {
if (!vis[v]) {
dfs(dfs, v);
}
}
};
dfs(dfs, s);
return vis;
};
auto vis = work(0, adj);
auto rvis = work(n - 1, radj);
if (!vis[n - 1]) {
cout << "0\n";
return;
}
int V = 0, E = 0;
for (int i = 0; i < n; i++) {
V += vis[i] && rvis[i];
}
for (int u = 0; u < n; u++) {
for (auto v : adj[u]) {
E += vis[u] && rvis[u] && vis[v] && rvis[v];
}
}
cout << E - V + 2 << '\n';
};
solve();
return 0;
}
详细
Test #1:
score: 100
Accepted
time: 0ms
memory: 3548kb
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: 3556kb
input:
5 3 1 3 2 3 2 5
output:
0
result:
ok 1 number(s): "0"
Test #3:
score: 0
Accepted
time: 0ms
memory: 3560kb
input:
2 0
output:
0
result:
ok 1 number(s): "0"
Test #4:
score: 0
Accepted
time: 0ms
memory: 3848kb
input:
2 1 1 2
output:
1
result:
ok 1 number(s): "1"
Test #5:
score: 0
Accepted
time: 0ms
memory: 3856kb
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: 0ms
memory: 3552kb
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: 0ms
memory: 3556kb
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: 0ms
memory: 3784kb
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: 0ms
memory: 3652kb
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: 8ms
memory: 57808kb
input:
1000000 0
output:
0
result:
ok 1 number(s): "0"
Test #11:
score: 0
Accepted
time: 109ms
memory: 17076kb
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: 319ms
memory: 92632kb
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: 138ms
memory: 70664kb
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: 79ms
memory: 64388kb
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: 116ms
memory: 17936kb
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: 160ms
memory: 19272kb
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: 205ms
memory: 72488kb
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: 377ms
memory: 91916kb
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: 678ms
memory: 120024kb
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: 332ms
memory: 62848kb
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: 559ms
memory: 116920kb
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: 499ms
memory: 125052kb
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: 483ms
memory: 117208kb
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: 538ms
memory: 144560kb
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: 84ms
memory: 16524kb
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: 81ms
memory: 16540kb
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: 104ms
memory: 71208kb
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: 110ms
memory: 71176kb
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