Submission #4635897
Source Code Expand
#include<iostream> #include<vector> #include<algorithm> #include<utility> #include<unordered_map> #include<queue> #include<functional> using namespace std; using ll = long long int; using pll = pair<ll, ll>; int n, m; struct Edge{ ll cost, to; Edge(ll c, ll t) : cost(c), to(t){} }; unordered_map<ll, vector<Edge>> g; unordered_map<ll, ll> d; ll get_id(ll p, ll c){ return p + n * c; } void add_edge(ll p, ll q, ll c){ g[get_id(p, c)].push_back({0, get_id(q, c)}); g[get_id(q, c)].push_back({0, get_id(p, c)}); g[get_id(p, c)].push_back({0, get_id(p, 0)}); g[get_id(p, 0)].push_back({1, get_id(p, c)}); g[get_id(q, c)].push_back({0, get_id(q, 0)}); g[get_id(q, 0)].push_back({1, get_id(q, c)}); } int main(){ cin >> n >> m; for(int i = 0; i < m; i++){ int p, q, c; cin >> p >> q >> c; add_edge(p, q, c); } priority_queue<pll, vector<pll>, greater<pll>> q; d[get_id(1, 0)] = 0; q.push({0, get_id(1, 0)}); while(!q.empty()){ auto from = q.top(); q.pop(); for(auto&& t : g[from.second]){ if(d.find(t.to) == d.end() || d[t.to] > d[from.second] + t.cost){ d[t.to] = d[from.second] + t.cost; q.push({d[t.to], t.to}); } } } if(d.find(get_id(n, 0)) == d.end()){ cout << -1 << endl; }else{ cout << d[get_id(n, 0)] << endl; } return 0; }
Submission Info
Submission Time | |
---|---|
Task | E - Snuke's Subway Trip |
User | lucky3977 |
Language | C++14 (GCC 5.4.1) |
Score | 600 |
Code Size | 1498 Byte |
Status | AC |
Exec Time | 1104 ms |
Memory | 78192 KB |
Judge Result
Set Name | Sample | All | ||
---|---|---|---|---|
Score / Max Score | 0 / 0 | 600 / 600 | ||
Status | AC |
|
Set Name | Test Cases |
---|---|
Sample | |
All | 01.txt, 02.txt, 03.txt, 04.txt, 05.txt, 06.txt, 07.txt, 08.txt, 09.txt, 10.txt, 11.txt, 12.txt, 13.txt, 14.txt, 15.txt, 16.txt, 17.txt, 18.txt, 19.txt, 20.txt, 21.txt, 22.txt, 23.txt, 24.txt, 25.txt, 26.txt, 27.txt, 28.txt, 29.txt, 30.txt, 31.txt, 32.txt, 33.txt, 34.txt, 35.txt, 36.txt, 37.txt, 38.txt, sample_01.txt, sample_02.txt, sample_03.txt, w1.txt, w10.txt, w11.txt, w12.txt, w13.txt, w14.txt, w15.txt, w16.txt, w17.txt, w18.txt, w2.txt, w3.txt, w4.txt, w5.txt, w6.txt, w7.txt, w8.txt, w9.txt |
Case Name | Status | Exec Time | Memory |
---|---|---|---|
01.txt | AC | 2 ms | 256 KB |
02.txt | AC | 461 ms | 38684 KB |
03.txt | AC | 984 ms | 78192 KB |
04.txt | AC | 449 ms | 56692 KB |
05.txt | AC | 787 ms | 66292 KB |
06.txt | AC | 300 ms | 45684 KB |
07.txt | AC | 371 ms | 47092 KB |
08.txt | AC | 966 ms | 77556 KB |
09.txt | AC | 448 ms | 49396 KB |
10.txt | AC | 457 ms | 49396 KB |
11.txt | AC | 540 ms | 48952 KB |
12.txt | AC | 203 ms | 24540 KB |
13.txt | AC | 361 ms | 34440 KB |
14.txt | AC | 557 ms | 48580 KB |
15.txt | AC | 406 ms | 42272 KB |
16.txt | AC | 503 ms | 47272 KB |
17.txt | AC | 652 ms | 49064 KB |
18.txt | AC | 274 ms | 28264 KB |
19.txt | AC | 497 ms | 45596 KB |
20.txt | AC | 760 ms | 56948 KB |
21.txt | AC | 1070 ms | 75112 KB |
22.txt | AC | 776 ms | 58984 KB |
23.txt | AC | 819 ms | 63860 KB |
24.txt | AC | 636 ms | 55632 KB |
25.txt | AC | 219 ms | 23800 KB |
26.txt | AC | 382 ms | 34160 KB |
27.txt | AC | 756 ms | 57332 KB |
28.txt | AC | 680 ms | 56272 KB |
29.txt | AC | 706 ms | 56556 KB |
30.txt | AC | 607 ms | 49532 KB |
31.txt | AC | 371 ms | 34036 KB |
32.txt | AC | 493 ms | 46712 KB |
33.txt | AC | 701 ms | 57072 KB |
34.txt | AC | 474 ms | 42176 KB |
35.txt | AC | 190 ms | 24048 KB |
36.txt | AC | 302 ms | 29568 KB |
37.txt | AC | 498 ms | 44616 KB |
38.txt | AC | 480 ms | 42688 KB |
sample_01.txt | AC | 1 ms | 256 KB |
sample_02.txt | AC | 1 ms | 256 KB |
sample_03.txt | AC | 1 ms | 256 KB |
w1.txt | AC | 549 ms | 45348 KB |
w10.txt | AC | 598 ms | 56052 KB |
w11.txt | AC | 232 ms | 23560 KB |
w12.txt | AC | 296 ms | 30464 KB |
w13.txt | AC | 496 ms | 43336 KB |
w14.txt | AC | 655 ms | 59636 KB |
w15.txt | AC | 204 ms | 23644 KB |
w16.txt | AC | 228 ms | 24832 KB |
w17.txt | AC | 278 ms | 27904 KB |
w18.txt | AC | 431 ms | 36972 KB |
w2.txt | AC | 544 ms | 45376 KB |
w3.txt | AC | 702 ms | 58420 KB |
w4.txt | AC | 543 ms | 47284 KB |
w5.txt | AC | 1104 ms | 78176 KB |
w6.txt | AC | 929 ms | 66660 KB |
w7.txt | AC | 802 ms | 67444 KB |
w8.txt | AC | 808 ms | 65012 KB |
w9.txt | AC | 907 ms | 66548 KB |