求助:本地与洛谷在线IDE皆输出正确答案,但是一提交就WA
查看原帖
求助:本地与洛谷在线IDE皆输出正确答案,但是一提交就WA
592380
David_Mercury楼主2022/8/27 18:39

洛谷评测记录

可见在洛谷评测机上我的column3一直输出0

但是我下载了第一个测试点,在本地与IDE上都试过均得到了正确答案

洛谷评测机出了什么毛病???

求dalao指点 QAQ

#include<bits/stdc++.h>
using namespace std;

const int MAXN = 2e5+5;
vector<int> head, rear;
struct node{
	int nxt; bool w;
} fruit[MAXN];
int n;

int main(){
	scanf("%d", &n);
	bool w; scanf("%d", &w);
	bool last=w;
	fruit[1] = (node){0, w};
	head.push_back(1);
	rear.push_back(1);
	for(int i=2; i<=n; i++){
		scanf("%d", &w);
		fruit[i] = (node){0, w};
		if(w==last){
			fruit[rear[rear.size()-1]].nxt = i;
			rear[rear.size()-1] = i;
		}
		else{
			head.push_back(i);
			rear.push_back(i);
			last = w;
		}
	}
	while(!head.empty()){
		for(int i=0; i<head.size(); i++){
			printf("%d ", head[i]);
			if(fruit[head[i]].nxt==0){
				head.erase(head.begin()+i);
				rear.erase(rear.begin()+i);
				i--;
				continue;
			}
			head[i] = fruit[head[i]].nxt;
			if(i == 0) continue;
			if(fruit[rear[i-1]].w==fruit[head[i]].w){
				fruit[rear[i-1]].nxt = head[i];
				rear.erase(rear.begin()+i-1);
				head.erase(head.begin()+i);
				i--;
			}
		}
		printf("\n");
	}
	
	return 0;
}
2022/8/27 18:39
加载中...