为啥全RE?下载第一个测试点本地自测没问题
查看原帖
为啥全RE?下载第一个测试点本地自测没问题
605603
qwerzxjj楼主2022/7/10 23:45
#include <bits/stdc++.h>
using namespace std;
typedef int status;
typedef int ElemType;
typedef struct LNode { //单链表(链式结构)结点的定义
	ElemType data;
	struct LNode *next;
} LNode, *LinkList;
int N;
int M;
void ListInsert1(LinkList &L, int i, ElemType e);
void ListInsert2(LinkList &L, int i, ElemType e);
void Delete(LinkList L, ElemType e);
int main()
{
	int a,b,c;
	scanf("%d",&N);
	LinkList L ;
	LinkList m = (LinkList)malloc(sizeof(LNode));
	L->next = m;
	m->next = NULL;
	L->next->data = 1;
	for(int i = 2; i <= N;i++)
	{
		scanf("%d %d",&a,&b);
		if(b == 0)
		{
			ListInsert1(L,a,i);
		}
		else
		{
			ListInsert2(L,a,i);
		}
	}
	scanf("%d",&M);
	for(int i = 1;i <= M;i++)
	{
		scanf("%d",&c);
		Delete(L,c);
	}
	LinkList p = L->next;
	while(p)
	{
		if(p->data > 0)
		{
			printf("%d ",p->data);
		}
		p = p->next;
	}
	return 0;
}

void ListInsert1(LinkList &L, int i, ElemType e)
{
	int j = 0;
	LinkList p = L->next, t = L;
	while (j != i - 1) {
		j++;
		p = p->next;
		t = t->next;
	}
	LinkList m = (LinkList)malloc(sizeof(LNode));
	m->data = e;
	t->next = m;
	m->next = p;

}



void ListInsert2(LinkList &L, int i, ElemType e)
{
	int j = 0;
	LinkList p = L->next, t = L;
	while (j != i ) {
		j++;
		p = p->next;
		t = t->next;
	}
	LinkList m = (LinkList)malloc(sizeof(LNode));
	m->data = e;
	t->next = m;
	m->next = p;
}

void Delete(LinkList L, ElemType e)
{
		LinkList p = L->next;
		while (p != NULL) {
			if (p->data == e) {
				p->data = -1;
				break;
			}
			p = p->next;
		}

}
2022/7/10 23:45
加载中...