Submission #2861344


Source Code Expand

#include "bits/stdc++.h"
#define in std::cin
#define out std::cout
#define rep(i,N) for(int i=0;i<N;++i)
typedef long long int LL;
typedef std::pair<LL, LL> P;
struct edge { LL to, cost; };
 
const LL inf = 11234567890123;
LL N, M;
std::map<LL, LL>dist;
std::map<LL, std::vector<edge>>G;
 
void dijkstra(LL s)
{
	std::priority_queue<P, std::vector<P>, std::greater<P>>que;
	for (auto i : G) dist[i.first] = inf;
	dist[s] = 0;
	que.push(P(0, s));
	while (!que.empty())
	{
		P p = que.top(); que.pop();
		LL v = p.second;
		if (dist[v] < p.first) { continue; }
		rep(i, G[v].size())
		{
			edge e = G[v][i];
			if (dist[e.to] > dist[v] + e.cost)
			{
				dist[e.to] = dist[v] + e.cost;
				que.push(P(dist[e.to], e.to));
			}
		}
	}
}
 
int main()
{
	in >> N >> M;
	std::vector<LL>p(M), q(M), c(M);
	rep(i, M)
	{
		in >> p[i] >> q[i] >> c[i];
		G[p[i] + c[i] * N].push_back({ q[i] + c[i] * N,0 });
		G[q[i] + c[i] * N].push_back({ p[i] + c[i] * N,0 });
		G[p[i]].push_back({ p[i] + c[i] * N ,1 });
		G[p[i] + c[i] * N].push_back({ p[i] ,0 });
		G[q[i]].push_back({ q[i] + c[i] * N ,1 });
		G[q[i] + c[i] * N].push_back({ q[i] ,0 });
	}
	dist[N] = inf;
	dijkstra(1);
	out << (dist[N] >= inf ? -1 : dist[N]) << std::endl;
	return 0;
}

Submission Info

Submission Time
Task E - Snuke's Subway Trip
User haimeo1201
Language C++14 (GCC 5.4.1)
Score 600
Code Size 1284 Byte
Status AC
Exec Time 2902 ms
Memory 110420 KB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 600 / 600
Status AC
AC × 59
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 908 ms 50420 KB
03.txt AC 2884 ms 109168 KB
04.txt AC 990 ms 103808 KB
05.txt AC 1880 ms 87800 KB
06.txt AC 1221 ms 56576 KB
07.txt AC 1241 ms 58880 KB
08.txt AC 2902 ms 105716 KB
09.txt AC 1379 ms 64256 KB
10.txt AC 1372 ms 64128 KB
11.txt AC 1105 ms 65892 KB
12.txt AC 236 ms 30052 KB
13.txt AC 654 ms 45140 KB
14.txt AC 1059 ms 64632 KB
15.txt AC 807 ms 56704 KB
16.txt AC 941 ms 60620 KB
17.txt AC 1133 ms 67072 KB
18.txt AC 453 ms 35816 KB
19.txt AC 912 ms 62004 KB
20.txt AC 1281 ms 69236 KB
21.txt AC 1883 ms 102964 KB
22.txt AC 1369 ms 74112 KB
23.txt AC 1573 ms 83060 KB
24.txt AC 1136 ms 69332 KB
25.txt AC 238 ms 29936 KB
26.txt AC 630 ms 44500 KB
27.txt AC 1327 ms 71412 KB
28.txt AC 1221 ms 69504 KB
29.txt AC 1321 ms 70072 KB
30.txt AC 1074 ms 67980 KB
31.txt AC 585 ms 44996 KB
32.txt AC 913 ms 60724 KB
33.txt AC 1279 ms 71252 KB
34.txt AC 828 ms 54512 KB
35.txt AC 221 ms 30704 KB
36.txt AC 459 ms 35300 KB
37.txt AC 892 ms 57728 KB
38.txt AC 817 ms 54972 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 999 ms 61796 KB
w10.txt AC 1311 ms 92800 KB
w11.txt AC 278 ms 28808 KB
w12.txt AC 466 ms 35580 KB
w13.txt AC 1116 ms 56192 KB
w14.txt AC 1611 ms 87040 KB
w15.txt AC 178 ms 28740 KB
w16.txt AC 263 ms 29568 KB
w17.txt AC 418 ms 32896 KB
w18.txt AC 943 ms 47232 KB
w2.txt AC 984 ms 61512 KB
w3.txt AC 1335 ms 76196 KB
w4.txt AC 998 ms 61872 KB
w5.txt AC 2131 ms 110420 KB
w6.txt AC 1852 ms 93144 KB
w7.txt AC 1792 ms 88160 KB
w8.txt AC 1872 ms 86656 KB
w9.txt AC 2311 ms 88448 KB