Message on Whatsapp 8879355057 for DSA(OA + Interview) + Fullstack Dev Training + 1-1 Personalized Mentoring to get 10+LPA Job
0 like 0 dislike
1,017 views
in Online Assessments by Expert (44,360 points) | 1,017 views

2 Answers

0 like 0 dislike
Best answer

image

 

Image of ques
by Expert (44,360 points)
0 like 0 dislike
public class graph {

    List<List<Integer>> g = new ArrayList<>();
    int N = 6;
    int A[] = new int[]{0, 1, 1, 3, 0};
    int B[] = new int[]{1, 2, 3, 4, 5};
    int H[] = new int[]{2, 4};

    int  buildt() {
        for (int i = 0; i < N; i++) {
            g.add(new ArrayList<>());
        }
        for (int i = 0; i < A.length; i++) {
            build(g, A[i], B[i]);
            //build(i,B[i]);
        }
        System.out.println(g);
		int asn=-1;
        for (int i = 0; i < H.length; i++) {
            int temp = H[i];
            boolean vis[] = new boolean[N];
            List<Integer> temp1 = g.get(temp);
            for (int x : temp1) {
                if (vis[x] == false)
                   ans=ans+ dfs(x, vis);
            }

        }
		return ans;
    }

    int dfs(int src, boolean vis[]) {
        int ans=0;
        List<Integer> temp = g.get(src);
        vis[src] = true;
        for (int i = 0; i < temp.size(); i++) {
            int f = temp.get(i);
            if (vis[f] == false) {
                vis[f] = true;
                ans=ans +dfs(f, vis)+1;
            }
        }
        return ans;
    }


    static void build(List<List<Integer>> g, int u, int v) {
        g.get(u).add(v);
        g.get(v).add(u);
    }

    public static void main(String[] args) {
        new graph().buildt();
    }
}
by Expert (44,360 points)