Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.util.*;
- public class Yhtenaisyys {
- private ArrayList<Integer> verkko[];
- private ArrayList<Integer> verkko1[];
- int[] vierailtu;
- private ArrayList<Integer> v;
- private ArrayList<Integer> vv;
- int l;
- public Yhtenaisyys(int n) {
- verkko = new ArrayList[n + 1];
- verkko1 = new ArrayList[n + 1];
- vierailtu = new int[n + 1];
- v = new ArrayList<>();
- vv = new ArrayList<>();
- this.l = n;
- for (int i = 1; i <= n; i++) {
- verkko[i] = new ArrayList<>();
- verkko1[i] = new ArrayList<>();
- }
- }
- public void lisaaKaari(int a, int b) {
- verkko[a].add(b);
- verkko1[b].add(a);
- }
- public boolean tutki() {
- haku1(1);
- for (int i = 1; i < l; i++) {
- if (vierailtu[i] == 0) {
- return false;
- }
- }
- vierailtu = new int[l + 1];
- haku2(1);
- for (int i = 1; i < l; i++) {
- if (vierailtu[i] == 0) {
- return false;
- }
- }
- return true;
- }
- public void haku1(int s) {
- if (vierailtu[s] == 1) {
- return;
- }
- vierailtu[s] = 1;
- for (int i : verkko[s]) {
- if (vierailtu[i] == 0) {
- haku1(i);
- }
- }
- v.add(s);
- }
- public void haku2(int s) {
- if (vierailtu[s] == 1) {
- return;
- }
- vierailtu[s] = 1;
- for (int i : verkko1[s]) {
- if (vierailtu[i] == 0) {
- haku2(i);
- }
- }
- vv.add(s);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement