Advertisement
Guest User

Untitled

a guest
Oct 25th, 2014
107
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.94 KB | None | 0 0
  1. import java.util.Calendar;
  2. import java.util.Scanner;
  3.  
  4. class Main {
  5. static boolean[] visited;
  6. static int[][] edges;
  7. static int[][] vertices;
  8. static int count=0;
  9. public static void main(String[] args) {
  10. Scanner s=new Scanner(System.in);
  11. int n=s.nextInt();
  12. int m=s.nextInt();
  13. s.nextLine();
  14. visited=new boolean[n];
  15. edges=new int[m][2];
  16. vertices=new int[n][2];
  17. String[] str=new String[2];
  18. for (int i = 0; i < m; i++) {
  19. if(s.hasNext()){
  20. str=s.nextLine().split(" ");
  21. edges[i][0]=Integer.parseInt(str[0])-1;
  22. edges[i][1]=Integer.parseInt(str[1])-1;
  23. //edges[i+m][0]=Integer.parseInt(str[1])-1;
  24. //edges[i+m][1]=Integer.parseInt(str[0])-1;
  25. }
  26. }
  27. for (int i = 0; i < n; i++) {
  28. //visited=new boolean[n];
  29. explore(i);
  30. }
  31. /*for (int i = 0; i < n; i++) {
  32. System.out.println("Time for "+i+" is "+vertices[i][0]+" ||| "+vertices[i][1]);
  33. }*/
  34. for (int i = 0; i < edges.length; i++) {
  35. if(vertices[edges[i][1]][0]<vertices[edges[i][0]][0]&&vertices[edges[i][1]][1]>vertices[edges[i][0]][1]){
  36. System.out.println(1);
  37. System.exit(0);
  38. }
  39.  
  40. }
  41. System.out.println(0);
  42. }
  43.  
  44. private static void explore(int v) {
  45.  
  46. visited[v]=true;
  47. if(vertices[v][0]==0)
  48. vertices[v][0]=++count;
  49. for (int i = 0; i < edges.length; i++) {
  50. if (edges[i][0]==v){
  51. if (visited[edges[i][1]]==false){
  52. explore(edges[i][1]);
  53. /*}else{
  54. System.out.println(1);
  55. System.exit(0);*/
  56. }
  57. }
  58. }
  59. if(vertices[v][1]==0)
  60. vertices[v][1]=++count;
  61.  
  62. }
  63. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement