20分代码求调
查看原帖
20分代码求调
1476147
mrjn159487楼主2025/2/5 20:43
#include <iostream>
using namespace std;
const int N = 1e6+7;
struct node {
	int pre,nxt;
	int w;
	node(int _pre=0, int _nxt=0, int _w=0) {
		pre = _pre, nxt = _nxt, w = _w;
	}
};
node t[N];
int inde[N];
int q, tail;

void insert(int x, int y) {
	int now = inde[x];
	t[++tail] = node(now, t[now].nxt, y);
	t[now].nxt = tail;
	t[t[now].nxt].pre = tail;
	inde[y] = tail;
}

void del(int x) {
	int now = inde[t[t[inde[x]].nxt].w];
	t[t[now].pre].nxt = t[now].nxt;
	t[t[now].nxt].pre = t[now].pre;
	inde[t[now].w] = 0;
}

int main() {
	cin>>q;
	t[0] = node();
	insert(0,1);
	int opt, a, b;
	while(q--) {
		cin>>opt;
		if(opt == 1) {
			cin>>a>>b;
			insert(a,b);
		} else if(opt == 2) {
			cin>>a;
			cout << t[t[inde[a]].nxt].w << endl;
		} else {
			cin>>a;
			del(a);
		}
	}
	return 0;
}

只能过前两个点,真的看不出来有什么问题了。

2025/2/5 20:43
加载中...