为什么只得了44分
查看原帖
为什么只得了44分
1035525
Leave_Childhood楼主2025/7/30 15:43
#include<bits/stdc++.h>
using namespace std;
int n,k,h;
stack<int>a[101];
int ans[101];
int main() {
	cin>>n;
	int m=n;
	for(int i=1; i<=n; i++) {
		while(1) {
			int p;
			cin>>p;
			if(p==0)break;
			a[i].push(p);
		}
		if(a[i].size()==0)h=i,a[h].push(INT_MAX);
	}
	ans[++k]=h;
	m*=2;
	while(m--) 
	{
		for(int i=1; i<=n; i++) 
		{
			if(a[i].top()==h)
			{
				a[i].pop();
			}
			if(a[i].size()==0) 
			{
				ans[++k]=i;
				h=i;
				a[i].push(INT_MAX);
			}
		}
	}
	for(int i=k;i>=1;i--)cout<<ans[i]<<" ";
	return 0;
}
2025/7/30 15:43
加载中...