68pts求调
查看原帖
68pts求调
1074812
Jared0503楼主2024/8/14 15:05
#include<bits/stdc++.h>
using namespace std;
int n,m,maxn;
bool mp[1010][1010];
void dfs(int op)
{
	for(int i=1;i<=n;i++)
	{
		if(mp[op][i]) 
		{
			mp[op][i]=0;
			maxn=max(maxn,i);
//			cout<<op<<"→"<<i<<endl; 
			dfs(i);
			mp[op][i]=1;
		}
	}
}
int main()
{
	cin>>n>>m;
	for(int i=0;i<m;i++)
	{
		int x,y;
		cin>>x>>y;
		mp[x][y]=1;
	}
//	for(int i=1;i<=n;i++)
//	{
//		for(int j=1;j<=n;j++)
//		{
//			cout<<mp[i][j]<<' ';
//		}
//		cout<<endl;
//	}
	for(int i=1;i<=n;i++)
	{
		maxn=i;
		dfs(i);
		cout<<maxn<<' ';
	}
}

样例过了,#1 #2 TLE

2024/8/14 15:05
加载中...