1 条题解
-
0
#include<bits/stdc++.h> using namespace std; const int N=505; int a[N][N]; int pos[N]; vector<int>g[N]; bool vis[N][N]; void dfs(int o,int x){ vis[o][x]=1; for(int y:g[x])if(!vis[o][y]){ dfs(o,y); } } int main(){ ios::sync_with_stdio(0);cin.tie(0); int n;cin>>n; for(int i=1;i<=n;i++){ for(int j=1;j<=n;j++){ cin>>a[i][j]; if(a[i][j]==i)pos[i]=j; } } for(int i=1;i<=n;i++){ for(int j=1;j<pos[i];j++){ g[i].emplace_back(a[i][j]); } } for(int i=1;i<=n;i++){ dfs(i,i); } for(int i=1;i<=n;i++){ for(int j=1;j<=pos[i];j++){ if(vis[a[i][j]][i]){ cout<<a[i][j]<<"\n"; break; } } } return 0; }
- 1
信息
- ID
- 7026
- 时间
- 2000ms
- 内存
- 256MiB
- 难度
- 6
- 标签
- 递交数
- 36
- 已通过
- 13
- 上传者