蒟蒻求助
查看原帖
蒟蒻求助
973359
liaoiming楼主2024/10/23 20:06

写的是模拟,但不会枚举

#include<bits/stdc++.h>
using namespace std;
int const N=200010;
int a[N];
bool pd(int t)
{
	if(t==-1)return true;
	else return false;
}
int main(int argc,char**argv)
{
	memset(a,-1,N-1);
	int n;
	cin>>n;
	for(int i=1;i<=n;i++)
	{
		scanf("%d",&a[i]);
	}
	
	int i=1,j=1,flag=0,cnt=0,tell=1;
	
	while(cnt<n)
	{
		if(tell==1)
		{
			while(pd(a[i]))i++;
			cout<<i<<" ";
			cnt+=1;
			tell=0;
			continue;
		}
		flag=a[i];
		a[i]=-1;
		i+=1;
//		while(a[i]==-1)i++;
//		flag=a[i];
//		i+=1;
		
		while((a[i]==0||a[i]==1)&&a[i]==flag)
		{
			i++;
			if(i>=n)break;
		}
		
		if(i>=n)
		{
			cout<<endl;
			i=1;
			tell=1;
			continue;
		}
		
		cout<<i<<" ";
		cnt++;
	}
//	cout<<endl;
//	for(int i=1;i<=n;i++)
//	{
//		cout<<i<<"  ";
//	}
//	cout<<endl;
//	for(int i=1;i<=n;i++)
//	{
//		if(a[i]==-1)cout<<"OK"<<" ";
//		else cout<<a[i]<<" ";
//	}
	return 0;
}

谢谢大佬(必关)

rp++

2024/10/23 20:06
加载中...