{"trustable":true,"prependHtml":"\u003cscript\u003e window.katexOptions \u003d { disable: true }; \u003c/script\u003e\n\u003cscript type\u003d\"text/x-mathjax-config\"\u003e\n MathJax.Hub.Config({\n tex2jax: {\n inlineMath: [[\u0027$$$\u0027,\u0027$$$\u0027], [\u0027$\u0027,\u0027$\u0027]],\n displayMath: [[\u0027$$$$$$\u0027,\u0027$$$$$$\u0027], [\u0027$$\u0027,\u0027$$\u0027]]\n }\n });\n\u003c/script\u003e\n\u003cscript async src\u003d\"https://mathjax.codeforces.org/MathJax.js?config\u003dTeX-AMS-MML_HTMLorMML\" type\u003d\"text/javascript\"\u003e\u003c/script\u003e","sections":[{"title":"","value":{"format":"HTML","content":"\u003cdiv class\u003d\"panel_content\"\u003e一天,Kiki想去拜访她的一个朋友。由于她容易晕车,她希望尽快到达朋友家。现在给你一张城市交通路线图,以及靠近Kiki家的车站,她可以乘坐。你可以假设Kiki可以在任何一个车站换乘公交车。请找出Kiki需要花费的最短时间。为了简单起见,如果城市有n个公交车站,则车站将被表示为整数1,2,3...n。\u003c/div\u003e"}},{"title":"输入","value":{"format":"HTML","content":"有多个测试用例。\u003cbr\u003e每个案例以三个整数n,m和s开头,(n\u003c1000, m\u003c20000, 1\u003c\u003ds\u003c\u003dn)。n代表这个城市的公交车站数量,m代表公交车站之间的有向路线数量。(也许两个公交车站之间有几条路线。) s代表靠近Kiki朋友家的公交车站。\u003cbr\u003e然后是m行,每行包含三个整数p,q,t (0\u003c\u003dt\u003c\u003d1000)。表示从车站p到车站q有一条路线,需要花费t分钟。\u003cbr\u003e然后是一行一个整数w(0\u003cw\u003cn),表示Kiki一开始可以乘坐的车站数量。然后是这些车站的整数。\u003cbr\u003e"}},{"title":"输出","value":{"format":"HTML","content":"输出包含每个数据集的一行:Kiki需要花费的最短时间,如果找不到这样的路线,只需输出“-1”。"}},{"title":"示例","value":{"format":"HTML","content":"\u003ctable class\u003d\u0027vjudge_sample\u0027\u003e\n\u003cthead\u003e\n \u003ctr\u003e\n \u003cth\u003eInput\u003c/th\u003e\n \u003cth\u003eOutput\u003c/th\u003e\n \u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n \u003ctr\u003e\n \u003ctd\u003e\u003cpre\u003e5 8 5\r\n1 2 2\r\n1 5 3\r\n1 3 4\r\n2 4 7\r\n2 5 6\r\n2 3 5\r\n3 5 1\r\n4 5 1\r\n2\r\n2 3\r\n4 3 4\r\n1 2 3\r\n1 3 4\r\n2 3 2\r\n1\r\n1\r\n\u003c/pre\u003e\u003c/td\u003e\n \u003ctd\u003e\u003cpre\u003e1\r\n-1\r\n\u003c/pre\u003e\u003c/td\u003e\n \u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e"}}]}