题解
2026-08-13 14:15:11
发布于:江苏
0阅读
0回复
0点赞
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
const int N = 2005;
int n,m;
vector<int> g[N];
bool vis[N];
int dfs(int u){
vis[u] = 1;
int ans = 1;
for(auto v : g[u]){
if(!vis[v]) ans+=dfs(v);
}
return ans;
}
int main(){
cin >> n >> m;
for(int i=1,u,v; i<=m;i++){
cin >> u >> v;
g[u].push_back(v);
}
int ans = 0;
for(int i=1;i<=n;i++){
memset(vis,0,sizeof vis);
ans += dfs(i);
}
cout << ans;
return 0;
}
这里空空如也




有帮助,赞一个