QOJ.ac
QOJ
ID | 题目 | 提交者 | 结果 | 用时 | 内存 | 语言 | 文件大小 | 提交时间 | 测评时间 |
---|---|---|---|---|---|---|---|---|---|
#519268 | #8517. Interesting Paths | SocialPanda | TL | 1ms | 3868kb | C++20 | 1.5kb | 2024-08-14 18:06:43 | 2024-08-14 18:06:44 |
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;
unordered_map<PII,int,pair_hash> st;
int ans,num;
int n,m;
void dfs(int cur)
{
if(cur==n and num==1)
{
num=0;
ans++;
return;
}
for(auto z:v[cur])
{
//cout<<cur<<' '<<z<<' '<<num<<endl;
if(st[{cur,z}]==0)
{
num=1;
st[{cur,z}]++;
dfs(z);
}
else
{
st[{cur,z}]++;
dfs(z);
}
}
}
/*
1 3 5
1 2 3 5
1 2 4 5
1 3 4 5
1 2 3 4 5
*/
void solve()
{
cin>>n>>m;
for(int i=1;i<=m;i++)
{
int a,b;
cin>>a>>b;
v[a].pb(b);
}
dfs(1);
cout<<ans<<endl;
}
int main()
{
std::ios::sync_with_stdio(false);
cin.tie(0);
cout.tie(0);
int tt=1;
//cin >> tt;
while(tt--) solve();
}
詳細信息
Test #1:
score: 100
Accepted
time: 0ms
memory: 3572kb
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: 3632kb
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: 3580kb
input:
2 0
output:
0
result:
ok 1 number(s): "0"
Test #4:
score: 0
Accepted
time: 0ms
memory: 3636kb
input:
2 1 1 2
output:
1
result:
ok 1 number(s): "1"
Test #5:
score: 0
Accepted
time: 0ms
memory: 3868kb
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: 3636kb
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: 3652kb
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: 3520kb
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: 1ms
memory: 3524kb
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: 3868kb
input:
1000000 0
output:
0
result:
ok 1 number(s): "0"
Test #11:
score: -100
Time Limit Exceeded
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...