Advertisement
Guest User

Untitled

a guest
Dec 6th, 2019
173
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.70 KB | None | 0 0
  1.  
  2. import java.util.*;
  3.  
  4. public class Yhtenaisyys {
  5.  
  6. private ArrayList<Integer> verkko[];
  7. private ArrayList<Integer> verkko1[];
  8. int[] vierailtu;
  9. private ArrayList<Integer> v;
  10. private ArrayList<Integer> vv;
  11. int l;
  12.  
  13. public Yhtenaisyys(int n) {
  14.  
  15. verkko = new ArrayList[n + 1];
  16. verkko1 = new ArrayList[n + 1];
  17. vierailtu = new int[n + 1];
  18. v = new ArrayList<>();
  19. vv = new ArrayList<>();
  20. this.l = n;
  21.  
  22. for (int i = 1; i <= n; i++) {
  23. verkko[i] = new ArrayList<>();
  24. verkko1[i] = new ArrayList<>();
  25. }
  26. }
  27.  
  28. public void lisaaKaari(int a, int b) {
  29. verkko[a].add(b);
  30. verkko1[b].add(a);
  31.  
  32. }
  33.  
  34. public boolean tutki() {
  35.  
  36. haku1(1);
  37. for (int i = 1; i < l; i++) {
  38. if (vierailtu[i] == 0) {
  39. return false;
  40. }
  41. }
  42.  
  43. vierailtu = new int[l + 1];
  44. haku2(1);
  45. for (int i = 1; i < l; i++) {
  46. if (vierailtu[i] == 0) {
  47. return false;
  48. }
  49. }
  50. return true;
  51.  
  52. }
  53.  
  54. public void haku1(int s) {
  55. if (vierailtu[s] == 1) {
  56. return;
  57. }
  58. vierailtu[s] = 1;
  59. for (int i : verkko[s]) {
  60. if (vierailtu[i] == 0) {
  61. haku1(i);
  62. }
  63. }
  64. v.add(s);
  65. }
  66.  
  67. public void haku2(int s) {
  68. if (vierailtu[s] == 1) {
  69. return;
  70. }
  71. vierailtu[s] = 1;
  72. for (int i : verkko1[s]) {
  73. if (vierailtu[i] == 0) {
  74. haku2(i);
  75. }
  76. }
  77. vv.add(s);
  78.  
  79. }
  80.  
  81. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement