#include<cstdio>
#include<vector>
#include<cstring>
using namespace std;
const int maxn=50+5;
int n;
int P[maxn];
int I[maxn];
void P2I()
{
memset(I,0,sizeof(I));
for(int i=0;i<n;i++)
for(int j=i+1;j<n;j++)
if(P[i]>P[j])
I[P[j]]++;
}
void I2P()
{
vector<int> v;
v.clear();
for(int i=n;i>0;i--)
{
v.insert(v.begin()+I[i],i);
}
for(int i=0;i<v.size();i++)
P[i]=v[i];
}
int main()
{
char s[10];
while(scanf("%d",&n)==1 && n)
{
scanf("%s",s);
if(strcmp(s,"P")==0)
{
for(int i=0;i<n;i++)
scanf("%d",&P[i]);
P2I();
printf("%d",I[1]);
for(int i=2;i<=n;i++)
printf(" %d",I[i]);
printf("\n");
}
else
{
for(int i=1;i<=n;i++)
scanf("%d",&I[i]);
I2P();
printf("%d",P[0]);
for(int i=1;i<n;i++)
printf(" %d",P[i]);
printf("\n");
}
}
return 0;
}
Zoj1201
最新推荐文章于 2018-10-03 11:13:19 发布