p1160中间三个点wa
  • 板块P1160 队列安排
  • 楼主Asad
  • 当前回复1
  • 已保存回复1
  • 发布时间2023/8/18 20:54
  • 上次更新2023/11/3 02:48:39
查看原帖
p1160中间三个点wa
286400
Asad楼主2023/8/18 20:54

代码:

#include<bits/stdc++.h>
using namespace std;
int n, pre[100010], Next[100010], m;
int main() {
	ios::sync_with_stdio(0);
	cin.tie(0); cout.tie(0);
	cin >> n;
	pre[0] = 1, Next[0] = 1, pre[1] = 0, Next[1] = 0;
	for (int i = 2; i <= n; i++) {
		int k, p; cin >> k >> p;
		if (p) {
			Next[i] = Next[k];
			pre[Next[k]] = i;
			pre[i] = k;
			Next[k] = i;
		}
		else {
			pre[i] = pre[k];
			Next[pre[k]] = i;
			Next[i] = k;
			pre[k] = i;
		}
	}
	cin >> m;
	for (int i = 1; i <= m; i++) {
		int x; cin >> x;
		Next[pre[x]] = Next[x];
		pre[Next[x]] = pre[x];
	}
	for (int i = Next[0]; i; i = Next[i]) cout << i << ' ';
	return 0;
}
2023/8/18 20:54
加载中...