86分,第五个点过不去,还不能下样例,求助
查看原帖
86分,第五个点过不去,还不能下样例,求助
1381052
tiangongyuanv楼主2024/8/14 14:26
#include<bits/stdc++.h>
using namespace std;

struct edge
{
	int head=0,tail[105]={},cnt=1;
};

edge e[200];

int a[200];

bool vis[200];

int main()

{

	int n;
	cin>>n;
	if(n==1)
	{
		int x;
		cin>>x;
		cout<<x;
		return 0;
	}
	for(int i=1;i<=n;i++)
	{
		int x[10086],j=1;
		while(cin>>x[j])
		{
			if(x[j]==0)
			{
				if(j==1)
					a[105]=i;
				break;
			}
			e[x[j]].head++;
			e[i].tail[e[i].cnt]=x[j];
			e[i].cnt++;
			j++;
		}
	}
	int p;
	for(int i=1;i<=n;i++)
	{
		if(e[i].head==0&&!vis[i])
		{
			vis[i]=1;
			cout<<i<<" ";
			p=i;
			for(int d=1;d<=e[i].cnt;d++)
				e[e[i].tail[d]].head--;
			i=1;
		}
	}
	if(p!=a[105])
		cout<<a[105];
	return 0;
}
2024/8/14 14:26
加载中...