三个点没过!大佬帮忙看看!qwq
查看原帖
三个点没过!大佬帮忙看看!qwq
396994
Winston12321_楼主2021/10/24 08:46

考场代码如下:

#include <iostream>
//#include <cstdio>
using namespace std;
int n,f[200010],st,pan[200010],k,la;
int main()
{
	//freopen("fruit.in","r",stdin);
	//freopen("fruit.out","w",stdout);
	cin>>n;
	for(int i=1;i<=n;i++) cin>>f[i];
	int p=n;
	while(p)
	{
		st=1;
		k=1;
		while(!(f[st]+1)) st++;//找第一个
		cout<<st;
		pan[k]=st;
		k++;
		la=st;
		for(int i=st+1;i<=n;i++)
		{
			if(f[i]!=-1)
			{
				if(f[i]+f[la]==1) {cout<<' '<<i;pan[k]=i;k++;}//pan记录果篮里有哪些
				la=i;//la记录上一个
			}
		}
		for(int i=1;i<k;i++) f[pan[i]]=-1;
		p-=(k-1);
		cout<<endl;
	}
	return 0;
}
2021/10/24 08:46
加载中...