不多说,看代码:
#include <cstring>
#include<iostream>
#include <cmath>
#include<cstdio>
#include <cstdlib>
using namespace std;
#define N 1005
int main() {
int a[N],vis[N],i,j,n;
while(scanf("%d",&n)!=EOF) {
for(i=1; i<=n; i++) {
scanf("%d",&a[i]);
vis[i]=0;
}
int c[N];
for(i=1; i<=n; i++) {
if(a[i]==0) {
j=1;
while(vis[j]) j++;
vis[j]=1;
c[i]=j;
}
else {
j=1;
int cou=0;
for(j=1; j<=n; j++) {
if(vis[j]==0) cou++;
if(cou==a[i]+1) {
c[i]=j;
vis[j] = 1;
break;
}
}
}
}
printf("%d",c[1]);
for(i=2; i<=n; i++) printf(" %d",c[i]);
printf("\n");
}
return 0;
}