fork download
  1. /* package whatever; // don't place package name! */
  2.  
  3. import java.util.*;
  4. import java.lang.*;
  5. import java.io.*;
  6.  
  7. /* Name of the class has to be "Main" only if the class is public. */
  8. class Ideone
  9. {
  10. public static void main (String[] args) throws java.lang.Exception
  11. {
  12. // your code goes here
  13. Scanner sc = new Scanner(System.in);
  14.  
  15. int N = sc.nextInt();
  16. int E = sc.nextInt();
  17.  
  18. ArrayList<ArrayList<Integer>> ls = new ArrayList<>();
  19.  
  20. for(int i = 0; i <= N; i++) ls.add(new ArrayList<>());
  21.  
  22. for(int i = 0; i < E; i++){
  23. int u = sc.nextInt();
  24. int v = sc.nextInt();
  25. ls.get(u).add(v);
  26. ls.get(v).add(u);
  27. }
  28.  
  29. // red = 1 and green = 2
  30.  
  31. int red = 1;
  32. int green = 0;
  33.  
  34. Queue<Integer> q = new LinkedList<>();
  35.  
  36. int[] used = new int[N + 1];
  37.  
  38. Arrays.fill(used, 0);
  39.  
  40. used[1] = 1;
  41.  
  42. q.add(1);
  43.  
  44. int ans = 1;
  45.  
  46. while(!q.isEmpty()){
  47. int node = q.poll();
  48.  
  49. for(int child : ls.get(node)){
  50. if(used[child] == 0){
  51. if(used[node] == 1){
  52. used[child] = 2;
  53. }
  54. if(used[node] == 2){
  55. used[child] = 1;
  56. }
  57. q.add(child);
  58.  
  59. }else{
  60. if(used[node] + used[child] == 3){
  61.  
  62. }else{
  63. ans = 0;
  64. }
  65. }
  66. }
  67. }
  68.  
  69. System.out.print(ans);
  70. }
  71. }
Success #stdin #stdout 0.13s 54544KB
stdin
5
6
2 5
1 2
1 3
2 4
3 5
3 4
stdout
1