P7912往死里改都过不了啊啊啊啊啊啊啊(悲
查看原帖
P7912往死里改都过不了啊啊啊啊啊啊啊(悲
551088
FincheuwYggdrasil楼主2022/10/2 13:27

#include<bits/stdc++.h>
using namespace std;
struct Arr{
	int Val,Pos;
};
vector<Arr> fruits; 
int n;
int main()
{
	scanf("%d",&n);
	Arr x;
	x.Val = -1;
	x.Pos = 0;
	fruits.push_back(x);
	
	for(int i = 1;i <= n;i++)
	{
		Arr x;
		scanf("%d",&x.Val);
		x.Pos = i;
		fruits.push_back(x);
	}//输入部分 
	
	while(fruits.size())
	{
		Arr x;
		x = fruits[1];
		int j = 1;//做一个记录:最左端的位置 
		for(int i = 1;i < fruits.size();i++)
		{
			if(x.Val ^ fruits[i].Val)
			{
				vector<Arr>::iterator it = fruits.begin() + j - 1;
				printf("%d ",x.Pos);
				j = i;
				x = fruits[i];
				fruits.erase(it); 
				i--;
			}//不同就输出,重新记录,删除 	
		}
		vector<Arr>::iterator it = fruits.begin() + j - 1;
		printf("%d\n",x.Pos);
		fruits.erase(it); 
		
		printf("now :");
		for(int i = 0;i < fruits.size();i++)
		{
			printf("%d ",fruits[i].Pos);
		}
		printf("\n");
 	}
 	return 0;
}
2022/10/2 13:27
加载中...