P1160 求助
  • 板块P1160 队列安排
  • 楼主Guagua111一只蒟蒻
  • 当前回复0
  • 已保存回复0
  • 发布时间2023/11/16 09:45
  • 上次更新2023/11/16 13:35:50
查看原帖
P1160 求助
937859
Guagua111一只蒟蒻楼主2023/11/16 09:45
#include <iostream>
using namespace std;
int n, m;

struct list {
	int l;
	int r;
} a[100005];

void jr(int x, int k, bool p) {
	if (!p) {
		a[x].l = a[k].l;
		a[a[x].l].r = x;
		a[x].r = k;
		a[k].l = x;
	} else {
		a[x].r = a[k].r;
		a[a[x].r].l = x;
		a[x].l = k;
		a[k].r = x;
	}
}

void sc(int x) {
	a[a[x].l].r = a[x].r;
	a[a[x].r].l = a[x].l;
}

int main() {
	cin >> n;
	a[0].l = 0;
	a[0].r = 0;
	jr(1, 0, 1);
	for (int i = 1; i <= n; i++) {
		int k;
		bool p;
		cin >> k >> p;
		jr(i, k, p);
	}
	cin >> m;
	for (int i = 1; i <= m; i++) {
		int x;
		cin >> x;
		sc(x);
	}
	int now = a[0].r;
	while (now != 0) {
		cout << now << ' ';
		now = a[now].r;
	}
	return 0;
}

大佬们帮忙看看为什么这个代码无限输出

2023/11/16 09:45
加载中...