求助,数据下载了发现本地运行没有问题啊
  • 板块P1160 队列安排
  • 楼主icaijy
  • 当前回复4
  • 已保存回复4
  • 发布时间2024/5/12 13:41
  • 上次更新2024/5/12 16:18:10
查看原帖
求助,数据下载了发现本地运行没有问题啊
378195
icaijy楼主2024/5/12 13:41
#include <iostream>
#include <list>

using namespace std;
bool b[100005];
list<int>::iterator ar[100005];
int main() {
    list<int> l;
    l.push_back(1);
    ar[1]=l.begin();
    int n,x,op,m;
    cin>>n;
    for (int i=2;i<=n;i++){
    	cin>>x>>op;
    	if (*ar[x]==x){
    		if (op) {    			
				l.insert(++ar[x],i);
				ar[i]=ar[x];
				ar[x]--;
			}
			else {
				ar[i]=ar[x];	
				l.insert(ar[x],i);
				ar[x]++;
			}
			continue;
		}
    	for (auto it=l.begin();it!=l.end();++it){
    		ar[*it]=it;
    		if (*it==x){
    			if (op) {
    				ar[x]=it;
					l.insert(++it,i);
					ar[i]=it;
				}
    			else {
    				ar[i]=it;
					l.insert(it,i);
					ar[x]=++it;
				}
    			break;
			}
		}
	}
	cin>>m;
	for (int i=1;i<=m;i++) {
		cin>>x;
		b[x]=true;
	}
	for (auto it=l.begin();it!=l.end();++it){
		if (!b[*it]) printf("%d ",*it);
	}
    return 0;
}

本地运行输出和下载下来的测试点一样。

2024/5/12 13:41
加载中...