P7912 RE求助七十分
#include <bits/stdc++.h>
using namespace std;
struct fruit {
int k , l , r , del ;
} f[100005] ;
int main()
{
int n ;
cin >> n ;
for ( int i = 1 ; i <= n ; i++ )
{
cin >> f[i].k ;
f[i].l = i - 1 ;
f[i].r = i + 1 ;
f[i].del = false ;
}
int sum = n , last = -1 ;
f[0].k = -1 ;
f[0].r = 1 ;
f[n+1].k = -1 ;
f[n+1].l = n ;
while ( f[0].r != n + 1 )
{
for ( int i = 1 ; i <= n ; i++ )
{
if ( f[i].k != last && f[i].del == false )
{
last = f[i].k ;
cout << i << " " ;
f[f[i].l].r = f[i].r ;
f[f[i].r].l = f[i].l ;
f[i].del = true ;
}
}
cout << endl ;
last = -1 ;
}
return 0 ;
}