fork download
  1. import java.util.*;
  2. import java.lang.*;
  3. import java.io.*;
  4.  
  5. class Main
  6. {
  7. private static class Node {
  8. private int x;
  9. private int y;
  10. private int t;
  11.  
  12. private Node(int x, int y, int t) {
  13. this.x = x;
  14. this.y = y;
  15. this.t = t;
  16. }
  17. }
  18. public static void main (String[] args) throws java.lang.Exception
  19. {
  20. Scanner in = new Scanner(System.in);
  21. int n = in.nextInt();
  22. int m = in.nextInt();
  23. Node r = null;
  24. Node[] canals = new Node[m + 1];
  25. for (int i = 0; i < m; i++) {
  26. int x = in.nextInt();
  27. int y = in.nextInt();
  28. int t = in.nextInt();
  29. r = new Node(x, y, t);
  30. canals[i] = r;
  31. }
  32. int INF = 2000000;
  33. int[] distance = new int[n + 1];
  34. int subs = -1;
  35. for (int i = 0; i < n; i++) {
  36. subs = -1;
  37. for (int j = 0; j < m; j++) {
  38. if (distance[canals[j].y] > distance[canals[j].x] + canals[j].t) {
  39. distance[canals[j].y] = Math.max (-INF, distance[canals[j].x] + canals[j].t);
  40. subs = canals[j].y;
  41. }
  42. }
  43. }
  44. if (subs == -1) {
  45. System.out.println("not possible");
  46. }
  47. else {
  48. System.out.println("possible");
  49. }
  50. }
  51. }
Success #stdin #stdout 0.07s 2184192KB
stdin
4 4
0 1 10
1 2 20
2 3 30
3 0 -60
stdout
not possible