Given a graph with N vertices (numbered from 1 to N) and Two Lists (U,V) of size M where (U[i],V[i]) and (V[i],U[i]) are connected by an edge , then count the distinct 3-cycles in the graph. A 3-cycle PQR is a cycle in which (P,Q), (Q,R) and (R,P) are connected an edge.
Input Format :
Line 1 : Two integers N and M
Line 2 : List u of size of M
Line 3 : List v of size of M
Return Format :
The count the number of 3-cycles in the given Graph
Constraints :
1<=N<=100
1<=M<=(N*(N-1))/2
1<=u[i],v[i]<=N
Sample Input:
3 3
1 2 3
2 3 1
Sample Output:
1
importjava.util.Scanner;publicclasssolution {publicstaticint[][] adj =newint[1005][1005];publicintsolve(int n,int m,intU[],intV[]) {for (int i =0; i < m; i++) { adj[U[i]][V[i]] =1; adj[V[i]][U[i]] =1; }int cycles =0;for (int a =1; a <= n; a++) {for (int b =1; b <= n; b++)if (adj[a][b] ==1) {int u = b;for (int j =1; j <= n; j++)if (adj[u][j] ==1) {int v = j;if (v == a) // basically working as visisted arraycontinue;if (adj[v][a] ==1) // if a,u,v form a cycle cycles++; } } }return cycles /6; // A cycle is counted 6 times , (anticlockwise + clockwise )*(from A + from U + from V) }}