TLE(目测死循环)求助
查看原帖
TLE(目测死循环)求助
964822
protractor半圆仪楼主2023/10/12 23:11
#include<iostream>
#define slb_ shuanglianbiao
using namespace std;
struct shuanglianbiao{
    int data,next,last;
}a[200050];
int head[200050],cnt=0,c2;
int vis[200050];
int n;
int main()
{
    cin>>n;
    a[0].data=-1;
    for(int i=1;i<=n;i++)
    {
        a[i].last=i-1,a[i].next=i+1;
        cin>>a[i].data;
        if(a[i].data!=a[i-1].data) head[++cnt]=i;
    }
    a[n].next=0;
    c2=n;
    while(c2)
    {
        for(int i=1;i<=cnt;i++) if(head[i]&&!vis[head[i]])
        {
            cout<<head[i]<<' ';
            vis[head[i]]=1;
            c2--;
            a[a[head[i]].last].next=a[head[i]].next;
            a[a[head[i]].next].last=a[head[i]].last;
            head[i]=a[head[i]].next;
            int j=i+1;
            while(i<cnt&&!head[j++]);
            if((i<cnt&&head[i]==head[i+1])||head[i]>n) head[i]=0;
        }
        for(int i=1;i<=cnt;i++) if(head[i])
        {
            if(a[a[head[i]].last].data==a[head[i]].data||head[i]>n) head[i]=0;
        }
        cout<<endl;
        //for(int i=head[1];i;i=a[i].next) cout<<a[i].data<<' ';
        //cout<<endl;
    }
    return 0;
}

TLE #6 #8 #9
求助

2023/10/12 23:11
加载中...