70分求助,八九十测试点TLE了呜呜呜
查看原帖
70分求助,八九十测试点TLE了呜呜呜
997513
cj53274423楼主2024/3/16 21:53

本蒟蒻采用指针链表,代码如下:

#include<bits/stdc++.h>
using namespace std;
struct node{
	int fruit,num;
	node * pre,* next; 
}; 
void insert(node * p,node * tmp,int x,int i){
	tmp->fruit=x;
	tmp->num=i;
	tmp->next=p->next;
	tmp->pre=p;
	p->next=tmp;
	p=tmp;
}
void remove(node*p){
	p->pre->next=p->next;
	if(p->next!=NULL){
		p->next->pre=p->pre;
	}
}
int main(){
	node*head=new node;
	head->next=NULL;
	node*tail=head;
	long long n,x;
	scanf("%d",&n);
	for(long long i=1;i<=n;i++){
		scanf("%d",&x);
		node*tmp=new node;
		insert(tail,tmp,x,i);
		tail=tmp;
	}
	while(head->next!=NULL){
		int a=-1;
		node*p=head->next;
		while(p!=NULL){
			if(p->fruit!=a){
				printf("%d ",p->num);
				a=p->fruit;
				node*tmp=p;
				p=p->next;
				remove(tmp);
			}
			else{
				p=p->next;
			}
		}
		printf("\n");
	}
	return 0;
}

为啥呢??? 在线等,都要成急急国王了......

2024/3/16 21:53
加载中...