40pts,后三个点TLE,求调
查看原帖
40pts,后三个点TLE,求调
1124480
t202482楼主2023/11/5 15:58
#include <iostream>
#include <cstdlib>
using namespace std;
typedef struct node {
	int dat; struct node *nxt;
}lNode, *linkList;
int main() {
	ios::sync_with_stdio(0);
	int n, k, opt, m, x; linkList p, q, r; cin >> n,
	p=(linkList)malloc(sizeof(lNode)), p->dat=0, p->nxt=nullptr,
	q=(linkList)malloc(sizeof(lNode)), q->dat=1, q->nxt=p->nxt, p->nxt=q;
	for(int i=2; i<=n; ++i) {
		cin >> k >> opt, q=p;
		while(q->nxt->dat^k) q=q->nxt;
		if(opt) q=q->nxt;
		r=(linkList)malloc(sizeof(lNode)), r->nxt=q->nxt, q->nxt=r, r->dat=i;
	}
	cin >> m;
	for(int i=0; i<m; ++i) {
		cin >> x, q=p;
		while(q->nxt && q->nxt->dat^x) q=q->nxt;
		if(q->nxt) r=q->nxt, q->nxt=r->nxt, free(r);
	}
	for(q=p->nxt; q; q=q->nxt) cout << q->dat << ' ';
	return 0;
}
2023/11/5 15:58
加载中...