QOJ.ac
QOJ
ID | Problem | Submitter | Result | Time | Memory | Language | File size | Submit time | Judge time |
---|---|---|---|---|---|---|---|---|---|
#519417 | #8517. Interesting Paths | SocialPanda | TL | 3861ms | 217336kb | C++23 | 1.7kb | 2024-08-14 19:56:20 | 2024-08-14 19:56:21 |
Judging History
answer
#pragma GCC optimize("O3")
#pragma GCC optimize("unroll-loops")
#include <bits/stdc++.h>
//#define int long long
//#define LL long long
#define double long double
//#define lf Lf
#define fi first
#define se second
#define pb push_back
#define eb emplace_back
#define endl "\n"
#define PII pair<int,int>
#define Gheap priority_queue<int,vector<int>,greater<int>>
#define Lheap priority_queue<int>
#define MAXN 0x3f3f3f3f
#define MINN -0x3f3f3f3f
using namespace std;
//const int N=1e6+100,M=2*N;
//int e[N],w[M],h[M],ne[M],idx;
struct pair_hash
{
template <class T1, class T2>
std::size_t operator() (const std::pair<T1, T2> &pair) const
{
return std::hash<T1>()(pair.first) ^ std::hash<T2>()(pair.second);
}
};
unordered_map<int,vector<int>> v,w;
unordered_map<int,int> mpA,mpB,mp;
unordered_map<PII,int,pair_hash> st;
int nn,mm;
int ans,num;
int n,m,fg=0;
void dfsA(int cur)
{
if(cur==n) fg=1;
mpA[cur]++;
for(auto z:v[cur])
{
if(mpA[z]==0)
{
dfsA(z);
}
}
}
void dfsB(int cur)
{
mpB[cur]++;
if(mpA[cur]) mp[cur]++;
for(auto z:w[cur])
{
if(mpB[z]==0)
{
//if(st[{z,cur}]) mm++;
dfsB(z);
}
}
}
/*
*/
void solve()
{
cin>>n>>m;
for(int i=1;i<=m;i++)
{
int a,b;
cin>>a>>b;
v[a].pb(b);
st[{a,b}]++;
w[b].pb(a);
}
dfsA(1);
dfsB(n);
if(fg==0)
{
cout<<0;
return;
}
for(auto z:st)
{
if(mp.contains(z.fi.fi) and mp.contains(z.fi.se)) mm++;
}
//mm=st.size();
nn=mp.size();
cout<<mm-nn+2<<endl;
}
//5 9 16
//7 26 35
int main()
{
std::ios::sync_with_stdio(false);
cin.tie(0);
cout.tie(0);
int tt=1;
//cin >> tt;
while(tt--) solve();
}
Details
Tip: Click on the bar to expand more detailed information
Test #1:
score: 100
Accepted
time: 0ms
memory: 3644kb
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: 3608kb
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: 3840kb
input:
2 0
output:
0
result:
ok 1 number(s): "0"
Test #4:
score: 0
Accepted
time: 0ms
memory: 3776kb
input:
2 1 1 2
output:
1
result:
ok 1 number(s): "1"
Test #5:
score: 0
Accepted
time: 0ms
memory: 3544kb
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: 3812kb
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: 3592kb
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: 3496kb
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: 3560kb
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: 0ms
memory: 3556kb
input:
1000000 0
output:
0
result:
ok 1 number(s): "0"
Test #11:
score: 0
Accepted
time: 3536ms
memory: 74548kb
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: 1202ms
memory: 158656kb
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: 712ms
memory: 72980kb
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: 322ms
memory: 39656kb
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: 3861ms
memory: 75408kb
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: 2154ms
memory: 79868kb
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: 938ms
memory: 86796kb
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: 2445ms
memory: 217336kb
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: -100
Time Limit Exceeded
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...