QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#519417#8517. Interesting PathsSocialPandaTL 3861ms217336kbC++231.7kb2024-08-14 19:56:202024-08-14 19:56:21

Judging History

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

  • [2024-08-14 19:56:21]
  • 评测
  • 测评结果:TL
  • 用时:3861ms
  • 内存:217336kb
  • [2024-08-14 19:56:20]
  • 提交

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...

output:


result: