fork download
  1.  
  2. import java.io.BufferedReader;
  3. import java.io.IOException;
  4. import java.io.InputStream;
  5. import java.io.InputStreamReader;
  6. import java.io.OutputStream;
  7. import java.io.PrintWriter;
  8. import java.util.ArrayList;
  9. import java.util.Arrays;
  10. import java.util.Comparator;
  11. import java.util.HashMap;
  12. import java.util.LinkedList;
  13. import java.util.List;
  14. import java.util.PriorityQueue;
  15. import java.util.Queue;
  16. import java.util.Scanner;
  17. import java.util.StringTokenizer;
  18.  
  19. public class TS
  20. {
  21.  
  22. int A;
  23. class Heap {
  24. int[] data;
  25. int[] index;
  26. int[] cost;
  27. boolean[] eval;
  28. int size;
  29.  
  30. public Heap(int s) {
  31.  
  32. data = new int[s];
  33. index = new int[s];
  34. cost = new int[s];
  35. eval = new boolean[s];
  36. }
  37.  
  38. public void init(int s) {
  39. for (int i = 0; i < s; i++) {
  40. index[i] = -1;
  41. eval[i] = false;
  42. }
  43. size = 0;
  44. }
  45.  
  46. public boolean isEmpty() {
  47. return (size == 0);
  48. }
  49.  
  50. private void shiftUp(int i) {
  51. int j;
  52. while (i > 0) {
  53. j = (i - 1) / 2;
  54. if (cost[data[i]] < cost[data[j]]) {
  55.  
  56. int temp = index[data[i]];
  57. index[data[i]] = index[data[j]];
  58. index[data[j]] = temp;
  59.  
  60. temp = data[i];
  61. data[i] = data[j];
  62. data[j] = temp;
  63. i = j;
  64. } else
  65. break;
  66. }
  67. }
  68.  
  69. private void shiftDown(int i) {
  70. int j, k;
  71. while (2 * i + 1 < size) {
  72. j = 2 * i + 1;
  73. k = j + 1;
  74. if (k < size && cost[data[k]] < cost[data[j]]
  75. && cost[data[k]] < cost[data[i]]) {
  76.  
  77. int temp = index[data[k]];
  78. index[data[k]] = index[data[i]];
  79. index[data[i]] = temp;
  80.  
  81. temp = data[k];
  82. data[k] = data[i];
  83. data[i] = temp;
  84.  
  85. i = k;
  86. } else if (cost[data[j]] < cost[data[i]]) {
  87.  
  88. int temp = index[data[j]];
  89. index[data[j]] = index[data[i]];
  90. index[data[i]] = temp;
  91.  
  92. temp = data[j];
  93. data[j] = data[i];
  94. data[i] = temp;
  95.  
  96. i = j;
  97. } else
  98. break;
  99. }
  100. }
  101.  
  102. public int pop() {
  103. int res = data[0];
  104. data[0] = data[size - 1];
  105. index[data[0]] = 0;
  106. size--;
  107. shiftDown(0);
  108. return res;
  109. }
  110.  
  111. public void push(int x, int c) {
  112. if (index[x] == -1) {
  113. cost[x] = c;
  114. data[size] = x;
  115. index[x] = size;
  116. size++;
  117. shiftUp(index[x]);
  118. } else {
  119. if (c < cost[x]) {
  120. cost[x] = c;
  121. shiftUp(index[x]);
  122. shiftDown(index[x]);
  123. }
  124. }
  125. }
  126. }
  127. public static void main(String[] args)
  128. {
  129.  
  130. TS hell = new TS();
  131. hell.go();
  132. }
  133.  
  134. void go()
  135. {
  136. InputStream inputStream = System.in;
  137. OutputStream outputStream = System.out;
  138. InputReader in = new InputReader(inputStream);
  139. PrintWriter out = new PrintWriter(outputStream);
  140. int T = in.nextInt();
  141.  
  142.  
  143.  
  144. for (int i=0;i<T; i++)
  145. {
  146.  
  147.  
  148. HashMap<String, Integer> naming;
  149. int N = in.nextInt();
  150. Heap heap = new Heap(N);
  151. heap.init(N);
  152. String[] name = new String[N];
  153.  
  154. List list = new ArrayList<HashMap<Integer, Integer>>();
  155. naming = new HashMap();
  156.  
  157. for(int j=0;j<N;j++)
  158. {
  159. name[j] = in.next();
  160. naming.put(name[j], j);
  161. int no = in.nextInt();
  162. HashMap<Integer, Integer> h1 = new HashMap<>();
  163. for(int y=0;y<no;y++)
  164. {
  165. int a1= in.nextInt();
  166. int b1= in.nextInt();
  167. h1.put(a1, b1);
  168.  
  169. }
  170. list.add(h1);
  171.  
  172. }
  173.  
  174. int tuk = in.nextInt();
  175.  
  176.  
  177.  
  178. for(int james=0;james<tuk;james++)
  179. {
  180. String source = in.next();
  181. String dest = in.next();
  182. int s1 = naming.get(source);
  183. int s2 = naming.get(dest);
  184.  
  185.  
  186.  
  187. heap.push(s1, 0);
  188. while(!heap.isEmpty())
  189. {
  190. int u = heap.pop();
  191. if(u==s2)
  192. System.out.println(heap.cost[s2]);
  193.  
  194. HashMap<Integer,Integer> ha = (HashMap<Integer,Integer>) list.get(u);
  195. for(Integer key:ha.keySet())
  196. {
  197. heap.push(key-1, ha.get(key)+heap.cost[u]);
  198.  
  199. }
  200.  
  201.  
  202.  
  203. }
  204.  
  205.  
  206.  
  207. heap.init(N);
  208. /* int eag=0;
  209.   HashMap<Integer, Integer> hash = (HashMap<Integer, Integer>) list.get(eag);
  210.   for(int key : hash.keySet())
  211.   {
  212.   int alt = dis[eag] + hash.get(key);
  213.   if(alt<dis[key-1])
  214.   {dis[key-1] = alt;
  215.   list.add(key-1);
  216.   }
  217.   } */
  218. }
  219.  
  220. }
  221.  
  222. }
  223.  
  224. }
  225.  
  226.  
  227.  
  228.  
  229.  
  230.  
  231.  
  232.  
  233.  
  234. class InputReader {
  235. public BufferedReader reader;
  236. public StringTokenizer tokenizer;
  237.  
  238. public InputReader(InputStream stream) {
  239. reader = new BufferedReader(new InputStreamReader(stream), 32768);
  240. tokenizer = null;
  241. }
  242.  
  243. public String next() {
  244. while (tokenizer == null || !tokenizer.hasMoreTokens()) {
  245. try {
  246. tokenizer = new StringTokenizer(reader.readLine());
  247. } catch (IOException e) {
  248. throw new RuntimeException(e);
  249. }
  250. }
  251. return tokenizer.nextToken();
  252. }
  253.  
  254. public int nextInt() {
  255. return Integer.parseInt(next());
  256. }
  257.  
  258. }
  259.  
  260.  
Compilation error #stdin compilation error #stdout 0s 0KB
stdin
Standard input is empty
compilation info
prog.c:2:1: error: unknown type name 'import'
 import java.io.BufferedReader;
 ^
prog.c:2:12: error: expected '=', ',', ';', 'asm' or '__attribute__' before '.' token
 import java.io.BufferedReader;
            ^
prog.c:3:1: error: unknown type name 'import'
 import java.io.IOException;
 ^
prog.c:3:12: error: expected '=', ',', ';', 'asm' or '__attribute__' before '.' token
 import java.io.IOException;
            ^
prog.c:4:1: error: unknown type name 'import'
 import java.io.InputStream;
 ^
prog.c:4:12: error: expected '=', ',', ';', 'asm' or '__attribute__' before '.' token
 import java.io.InputStream;
            ^
prog.c:5:1: error: unknown type name 'import'
 import java.io.InputStreamReader;
 ^
prog.c:5:12: error: expected '=', ',', ';', 'asm' or '__attribute__' before '.' token
 import java.io.InputStreamReader;
            ^
prog.c:6:1: error: unknown type name 'import'
 import java.io.OutputStream;
 ^
prog.c:6:12: error: expected '=', ',', ';', 'asm' or '__attribute__' before '.' token
 import java.io.OutputStream;
            ^
prog.c:7:1: error: unknown type name 'import'
 import java.io.PrintWriter;
 ^
prog.c:7:12: error: expected '=', ',', ';', 'asm' or '__attribute__' before '.' token
 import java.io.PrintWriter;
            ^
prog.c:8:1: error: unknown type name 'import'
 import java.util.ArrayList;
 ^
prog.c:8:12: error: expected '=', ',', ';', 'asm' or '__attribute__' before '.' token
 import java.util.ArrayList;
            ^
prog.c:9:1: error: unknown type name 'import'
 import java.util.Arrays;
 ^
prog.c:9:12: error: expected '=', ',', ';', 'asm' or '__attribute__' before '.' token
 import java.util.Arrays;
            ^
prog.c:10:1: error: unknown type name 'import'
 import java.util.Comparator;
 ^
prog.c:10:12: error: expected '=', ',', ';', 'asm' or '__attribute__' before '.' token
 import java.util.Comparator;
            ^
prog.c:11:1: error: unknown type name 'import'
 import java.util.HashMap;
 ^
prog.c:11:12: error: expected '=', ',', ';', 'asm' or '__attribute__' before '.' token
 import java.util.HashMap;
            ^
prog.c:12:1: error: unknown type name 'import'
 import java.util.LinkedList;
 ^
prog.c:12:12: error: expected '=', ',', ';', 'asm' or '__attribute__' before '.' token
 import java.util.LinkedList;
            ^
prog.c:13:1: error: unknown type name 'import'
 import java.util.List;
 ^
prog.c:13:12: error: expected '=', ',', ';', 'asm' or '__attribute__' before '.' token
 import java.util.List;
            ^
prog.c:14:1: error: unknown type name 'import'
 import java.util.PriorityQueue;
 ^
prog.c:14:12: error: expected '=', ',', ';', 'asm' or '__attribute__' before '.' token
 import java.util.PriorityQueue;
            ^
prog.c:15:1: error: unknown type name 'import'
 import java.util.Queue;
 ^
prog.c:15:12: error: expected '=', ',', ';', 'asm' or '__attribute__' before '.' token
 import java.util.Queue;
            ^
prog.c:16:1: error: unknown type name 'import'
 import java.util.Scanner;
 ^
prog.c:16:12: error: expected '=', ',', ';', 'asm' or '__attribute__' before '.' token
 import java.util.Scanner;
            ^
prog.c:17:1: error: unknown type name 'import'
 import java.util.StringTokenizer;
 ^
prog.c:17:12: error: expected '=', ',', ';', 'asm' or '__attribute__' before '.' token
 import java.util.StringTokenizer;
            ^
prog.c:19:1: error: unknown type name 'public'
 public class TS
 ^
prog.c:19:14: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'TS'
 public class TS
              ^
prog.c:234:1: error: unknown type name 'class'
 class InputReader {
 ^
prog.c:234:19: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token
 class InputReader {
                   ^
stdout
Standard output is empty