早上起来脑子浑死,这么水的题还做了这么久!
Accepted | 1201 | C | 00:00.00 | 392K |
#include<stdio.h>
#include <stdlib.h>
#include <string.h>
void solveI(int n,int arr[])
{
int *ans = (int*)malloc(sizeof(int) * (n + 1 ));
int i;
for (i = 1; i <= n; i++ )
ans[i] = 255 ;
for (i = 1; i <= n; i++ )
{
int cnt = 0,j = 0 ;
while (!(cnt == arr[i] && ans[j] == 255 ))
{
if (ans[j] > i) cnt++ ;
j++ ;
}
ans[j] = i;
}
for (i = 1; i <= n; i++ )
{
if (i > 1) printf(" " );
printf("%d" ,ans[i]);
}
}
void solveP(int n,int arr[])
{
int *ans = (int*)malloc(sizeof(int) * (n + 1 ));
int i,j;
for (i = 1; i <= n; i++ )
{
int cnt = 0 ;
for (j = 0; j < i; j++ )
if (arr[j] > arr[i]) cnt++ ;
ans[arr[i]] = cnt;
}
for (i = 1; i <= n; i++ )
{
if (i > 1) printf(" " );
printf("%d" ,ans[i]);
}
}
void main()
{
#ifndef ONLINE_JUDGE
freopen("1201.txt","r" ,stdin);
#endif
int n;
while(scanf("%d",&n) != EOF && n != 0 )
{
char c;
scanf(" %c",& c);
int i,arr[51 ];
for (i = 1; i <= n; i++ )
scanf("%d",& arr[i]);
arr[0] = 0 ;
c == 'I' ? solveI(n,arr) : solveP(n,arr);
printf("/n" );
}
#ifndef ONLINE_JUDGE
fclose(stdin);
#endif
}
#include <stdlib.h>
#include <string.h>
void solveI(int n,int arr[])
{
int *ans = (int*)malloc(sizeof(int) * (n + 1 ));
int i;
for (i = 1; i <= n; i++ )
ans[i] = 255 ;
for (i = 1; i <= n; i++ )
{
int cnt = 0,j = 0 ;
while (!(cnt == arr[i] && ans[j] == 255 ))
{
if (ans[j] > i) cnt++ ;
j++ ;
}
ans[j] = i;
}
for (i = 1; i <= n; i++ )
{
if (i > 1) printf(" " );
printf("%d" ,ans[i]);
}
}
void solveP(int n,int arr[])
{
int *ans = (int*)malloc(sizeof(int) * (n + 1 ));
int i,j;
for (i = 1; i <= n; i++ )
{
int cnt = 0 ;
for (j = 0; j < i; j++ )
if (arr[j] > arr[i]) cnt++ ;
ans[arr[i]] = cnt;
}
for (i = 1; i <= n; i++ )
{
if (i > 1) printf(" " );
printf("%d" ,ans[i]);
}
}
void main()
{
#ifndef ONLINE_JUDGE
freopen("1201.txt","r" ,stdin);
#endif
int n;
while(scanf("%d",&n) != EOF && n != 0 )
{
char c;
scanf(" %c",& c);
int i,arr[51 ];
for (i = 1; i <= n; i++ )
scanf("%d",& arr[i]);
arr[0] = 0 ;
c == 'I' ? solveI(n,arr) : solveP(n,arr);
printf("/n" );
}
#ifndef ONLINE_JUDGE
fclose(stdin);
#endif
}