Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<bits/stdc++.h>
- using namespace std;
- const int N = 1e3 + 5;
- int n, m, s, f;
- int used[N], is[N];
- vector <int> g[N];
- void dfs(int v, int pr) {
- if (v == f) return;
- used[v] = 1;
- for (int u : g[v]) {
- if (u == pr) continue;
- if (!used[u]) {
- dfs(u, v);
- }
- if (is[u]) {
- is[v] = 1;
- }
- }
- }
- int main(){
- cin >> n >> m >> s >> f;
- for (int i = 1; i <= m; i++) {
- int u, v;
- cin >> u >> v;
- g[u].push_back(v);
- g[v].push_back(u);
- }
- is[f] = 1;
- dfs(s, -1);
- int res = 0;
- for (int i = 1; i <= n; i++) {
- if (!is[i]) {
- res++;
- }
- }
- cout << res << endl;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement