FZU oj 逆序数还原

来源:互联网 发布:java调试方法 编辑:程序博客网 时间:2024/05/05 10:13

不多说,看代码:

#include <cstring>#include<iostream> #include <cmath>#include<cstdio>#include <cstdlib>using namespace std;#define N 1005int 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;}


0 0
原创粉丝点击