QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#519329#8517. Interesting PathsSocialPandaWA 0ms3876kbC++231.6kb2024-08-14 18:47:482024-08-14 18:47:48

Judging History

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

  • [2024-08-14 18:47:48]
  • 评测
  • 测评结果:WA
  • 用时:0ms
  • 内存:3876kb
  • [2024-08-14 18:47:48]
  • 提交

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;
void dfsA(int cur)
{
	mpA[cur]++;
	for(auto z:v[cur])
	{
		st[{cur,z}]++;
		dfsA(z);
	}
}

void dfsB(int cur)
{
	mpB[cur]++;
	for(auto z:w[cur])
	{
		st[{z,cur}]++;
		dfsB(z);
	}
}

/*
*/
void solve()
{
	cin>>n>>m;

	for(int i=1;i<=m;i++)
	{
		int a,b;
		cin>>a>>b;
		v[a].pb(b);
		w[b].pb(a);
	}

	dfsA(1);
	dfsB(n);

	for(int i=1;i<=n;i++)
	{
		if(mpA[i] and mpB[i]) mp[i]++;
	}

	for(auto z:st)
	{
		if(mp[z.fi.fi] and mp[z.fi.se]) mm++;
	}

	nn=mp.size();
    cout<<mm-nn+2<<endl;
}

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: 3812kb

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: 3584kb

input:

5 3
1 3
2 3
2 5

output:

0

result:

ok 1 number(s): "0"

Test #3:

score: -100
Wrong Answer
time: 0ms
memory: 3876kb

input:

2 0

output:

2

result:

wrong answer 1st numbers differ - expected: '0', found: '2'