可见在洛谷评测机上我的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;
}