1 条题解
-
0
G_Kass1r LV 2 MOD @ 2026-07-21 12:28:05
#include <bits/stdc++.h> #define int long long using namespace std; int n,m; vector<int>p; vector<bool>vis; vector<vector<int>>g; void dfs(int x,int s){ vis[x] = true; p[x] = s; for(auto r : g[x]){ if(vis[r] == false){ dfs(r,s); } } } void solve(){ cin >> n >> m; p.resize(n + 1); g.resize(n + 1); vis.resize(n + 1); for(int i = 1;i <= m;i++){ int u,v; cin >> u >> v; g[v].push_back(u); } for(int i = n;i >= 1;i--){ if(vis[i] == false){ dfs(i,i); } } for(int i = 1;i <= n;i++){ cout << p[i] << " "; } return; } signed main(){ int T = 1; while(T--){ solve(); } return 0; }
- 1
信息
- ID
- 1020
- 难度
- 9
- 分类
- (无)
- 标签
- (无)
- 递交数
- 1
- 已通过
- 1
- 通过率
- 100%
- 上传者