fork download
  1. import java.util.Scanner;
  2. import java.util.Arrays;
  3.  
  4. class Main {
  5. public static void main(String[] args) {
  6. Scanner kb = new Scanner(System.in);
  7.  
  8. while(kb.hasNext()) {
  9. int n = kb.nextInt();
  10. int m = kb.nextInt();
  11. int q = kb.nextInt();
  12.  
  13. int [] nodeIndex = new int[n];
  14. Node [] nodes = new Node[n];
  15.  
  16. for(int i = 0 ; i < n ; i++) {
  17. nodeIndex[i] = i;
  18. nodes[i] = new Node(i);
  19. }
  20.  
  21. for(int i = 0; i < m ; i++) {
  22. int a = kb.nextInt() - 1;
  23. int b = kb.nextInt() - 1;
  24.  
  25. int indexA = nodeIndex[a];
  26. int indexB = nodeIndex[b];
  27.  
  28. nodes[indexA].next = nodes[indexB];
  29.  
  30. int currentNode = indexB;
  31. do {
  32. nodeIndex[currentNode] = indexA;
  33. currentNode = nodes[currentNode].next.v;
  34. } while(nodes[currentNode].next != null);
  35.  
  36. System.out.println(Arrays.toString(nodes));
  37. }
  38.  
  39. for(int i = 0 ; i < q ; i++) {
  40. int a = kb.nextInt() - 1;
  41. int b = kb.nextInt() - 1;
  42.  
  43. int indexA = nodeIndex[a];
  44. int indexB = nodeIndex[b];
  45.  
  46. if (a == b) System.out.println("S");
  47. else System.out.println("N");
  48. }
  49. }
  50. }
  51. }
  52.  
  53. class Node {
  54. int v;
  55. Node next;
  56.  
  57. Node(int v) {
  58. this.v = v;
  59. }
  60.  
  61. public String toString() {
  62. String s = "";
  63. do {
  64. s += v + " ";
  65. } while(next != null);
  66.  
  67. return s;
  68. }
  69. }
Runtime error #stdin #stdout #stderr 0.1s 35316KB
stdin
5 3 3

4 2

3 5

1 2

1 4

5 1

2 4

3 1 2

3 2

1 2

2 3
stdout
Standard output is empty
stderr
Exception in thread "main" java.lang.NullPointerException
	at Main.main(Main.java:33)