Submission #2860983
Source Code Expand
#include <bits/stdc++.h> using namespace std; struct State { int dist; int u; int c; }; const int N = 100005, M = 200005; int n, m; vector< pair<int,int> > G[N]; map <int,int> d[N]; void dijkstra() { deque<State> q; q.push_back({0, 1, 0}); d[1][0] = 0; while(!q.empty()) { State f = q.front(); q.pop_front(); int u = f.u, c = f.c; if (f.dist != d[u][c]) continue; if (!d[u].count(0) || (d[u].count(0) && d[u][0] > f.dist)) { d[u][0] = f.dist; q.push_front({f.dist, u, 0}); } if (c) { int pos = lower_bound(G[u].begin(), G[u].end(), make_pair(c, 0)) - G[u].begin(); while(pos < G[u].size() && G[u][pos].first == c) { int v = G[u][pos].second; if (!d[v].count(c) || (d[v].count(c) && d[v][c] > f.dist)) { d[v][c] = f.dist; q.push_front({f.dist, v, c}); } ++pos; } } else { for (auto e : G[u]) { int v = e.second, cc = e.first; if (!d[v].count(cc) || (d[v].count(cc) && d[v][cc] > f.dist + 1)) { d[v][cc] = f.dist + 1; q.push_back({f.dist + 1, v, cc}); } } } } } int main() { ios_base::sync_with_stdio(false); cin.tie(0); cin >> n >> m; while(m--) { int u, v, c; cin >> u >> v >> c; G[u].push_back(make_pair(c, v)); G[v].push_back(make_pair(c, u)); } for (int i = 1; i <= n; ++i) { sort(G[i].begin(), G[i].end()); } dijkstra(); if (!d[n].count(0)) cout << -1 << endl; else cout << d[n][0] << endl; }
Submission Info
Submission Time | |
---|---|
Task | E - Snuke's Subway Trip |
User | vivukhue |
Language | C++14 (GCC 5.4.1) |
Score | 600 |
Code Size | 1465 Byte |
Status | AC |
Exec Time | 427 ms |
Memory | 37376 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 | 4 ms | 7296 KB |
02.txt | AC | 295 ms | 18176 KB |
03.txt | AC | 317 ms | 36992 KB |
04.txt | AC | 86 ms | 13568 KB |
05.txt | AC | 225 ms | 31104 KB |
06.txt | AC | 84 ms | 23936 KB |
07.txt | AC | 100 ms | 24576 KB |
08.txt | AC | 304 ms | 37376 KB |
09.txt | AC | 112 ms | 26368 KB |
10.txt | AC | 111 ms | 26368 KB |
11.txt | AC | 145 ms | 25084 KB |
12.txt | AC | 70 ms | 11256 KB |
13.txt | AC | 109 ms | 16508 KB |
14.txt | AC | 141 ms | 24576 KB |
15.txt | AC | 108 ms | 20604 KB |
16.txt | AC | 135 ms | 23168 KB |
17.txt | AC | 143 ms | 25592 KB |
18.txt | AC | 85 ms | 12924 KB |
19.txt | AC | 117 ms | 22772 KB |
20.txt | AC | 190 ms | 27136 KB |
21.txt | AC | 427 ms | 35452 KB |
22.txt | AC | 193 ms | 27128 KB |
23.txt | AC | 261 ms | 29568 KB |
24.txt | AC | 138 ms | 25724 KB |
25.txt | AC | 67 ms | 11256 KB |
26.txt | AC | 97 ms | 16764 KB |
27.txt | AC | 182 ms | 27264 KB |
28.txt | AC | 134 ms | 25852 KB |
29.txt | AC | 149 ms | 26240 KB |
30.txt | AC | 123 ms | 24696 KB |
31.txt | AC | 101 ms | 16892 KB |
32.txt | AC | 112 ms | 22516 KB |
33.txt | AC | 165 ms | 27136 KB |
34.txt | AC | 116 ms | 21372 KB |
35.txt | AC | 65 ms | 11256 KB |
36.txt | AC | 89 ms | 13304 KB |
37.txt | AC | 126 ms | 22016 KB |
38.txt | AC | 117 ms | 21372 KB |
sample_01.txt | AC | 4 ms | 7296 KB |
sample_02.txt | AC | 4 ms | 7296 KB |
sample_03.txt | AC | 4 ms | 7296 KB |
w1.txt | AC | 124 ms | 22884 KB |
w10.txt | AC | 108 ms | 16896 KB |
w11.txt | AC | 86 ms | 11228 KB |
w12.txt | AC | 96 ms | 11904 KB |
w13.txt | AC | 183 ms | 19712 KB |
w14.txt | AC | 156 ms | 24064 KB |
w15.txt | AC | 68 ms | 11480 KB |
w16.txt | AC | 70 ms | 11392 KB |
w17.txt | AC | 79 ms | 11904 KB |
w18.txt | AC | 109 ms | 16896 KB |
w2.txt | AC | 124 ms | 22876 KB |
w3.txt | AC | 151 ms | 27252 KB |
w4.txt | AC | 125 ms | 22772 KB |
w5.txt | AC | 326 ms | 37364 KB |
w6.txt | AC | 192 ms | 31604 KB |
w7.txt | AC | 316 ms | 30132 KB |
w8.txt | AC | 290 ms | 29696 KB |
w9.txt | AC | 255 ms | 30464 KB |