using
System;
using
System.Collections.Generic;
public
class
GFG{
static
void
dfs(
int
s, List<
int
> [] g,
int
[] v)
{
foreach
(
int
i
in
g[s]) {
if
(v[i] == 0) {
v[i] = 1;
dfs(i, g, v);
}
}
}
static
int
deleteEdges(
int
n,
int
m,
int
a,
int
b,
int
[,] edges)
{
List<
int
> []g =
new
List<
int
>[n];
for
(
int
i = 0; i < g.Length; i++)
g[i] =
new
List<
int
>();
for
(
int
i = 0; i < m; i++) {
g[edges[i,0] - 1].Add(edges[i,1] - 1);
g[edges[i,1] - 1].Add(edges[i,0] - 1);
}
int
[]v =
new
int
[n];
v[a - 1] = 1;
dfs(a - 1, g, v);
int
cnt = 0;
for
(
int
i = 0; i < n; i++) {
if
(v[i] == 0)
continue
;
for
(
int
j = 0; j < g[i].Count; j++) {
if
(g[i][j] == b - 1) {
cnt++;
}
}
}
return
cnt;
}
public
static
void
Main(String[] args)
{
int
N = 6;
int
M = 7;
int
A = 1;
int
B = 6;
int
[,] edges ={
{ 1, 2 }, { 5, 2 }, { 2, 4 },
{ 2, 3 }, { 3, 6 }, { 4, 6 }, { 5, 6 }
};
Console.Write(deleteEdges(N, M, A, B, edges));
}
}