SHPATH  The Shortest Path
You are given a list of cities. Each direct connection between two cities has its transportation cost (an integer bigger than 0). The goal is to find the paths of minimum cost between pairs of cities. Assume that the cost of each path (which is the sum of costs of all direct connections belongning to this path) is at most 200000. The name of a city is a string containing characters a,...,z and is at most 10 characters long.
Input
s [the number of tests <= 10] n [the number of cities <= 10000] NAME [city name] p [the number of neighbours of city NAME] nr cost [nr  index of a city connected to NAME (the index of the first city is 1)] [cost  the transportation cost] r [the number of paths to find <= 100] NAME1 NAME2 [NAME1  source, NAME2  destination] [empty line separating the tests]
Output
cost [the minimum transportation cost from city NAME1 to city NAME2 (one per line)]
Example
Input: 1 4 gdansk 2 2 1 3 3 bydgoszcz 3 1 1 3 1 4 4 torun 3 1 3 2 1 4 1 warszawa 2 2 4 3 1 2 gdansk warszawa bydgoszcz warszawa Output: 3 2
Warning: large Input/Output data, be careful with certain languages
hide comments
romilpunetha:
20151119 15:19:11
Used unordered_map<string,int>. compile error for g++4.3.2 and g++ 5.1. Accepted for C14 g++5.1. Any idea? 

vijay77794:
20151113 12:24:52
replaced cin by scanf and got ac........ :)


ARUN P:
20150928 20:07:31
Are the cities given in order according to their indices? 

Rohit Agarwal:
20150904 22:11:33
Wow. Really nice question. It teaches the importance of optimization.


sri varun:
20150726 16:36:35
Last edit: 20150726 16:38:25 

sujit yadav:
20150623 21:15:36
0.53 :) c++ rocks 

Kishore H Patel:
20150414 13:36:45
JAVA users: Don't use iterator for loop, instead use explicit iterator for loop. I mean use for(int i = 0; i < list.size(); i++) and not for(int i : list) Last edit: 20150414 13:37:43 

getting started:
20150319 15:12:45
2 tle , 2 re , 4 wa, finally acc .... smile restored 

childe:
20150221 07:19:38
I am curious how they made it within 0.00s. it takes more than it for just reading the input. 

Satyaanveshi:
20150215 03:32:19
I got A/C using C++ 4.9 but TLE with 4.3.2. My running time was 1.44. Last edit: 20150227 09:33:29 
Added by:  Darek Dereniowski 
Date:  20040510 
Time limit:  1.5s 
Source limit:  50000B 
Memory limit:  1536MB 
Cluster:  Cube (Intel Pentium G860 3GHz) 
Languages:  All 
Resource:  DASM Programming League 2003 (problemset 11) 