#include<iostream>
#include<list>
#include<vector>
using namespace std;
vector<int> P;
list<int> I;
int SearchI(int p)
{
for(int i=0;i<(int)P.size();i++)
{
if(P[i] == p)
return i++;
}
return 0;
}
int main()
{
int n;
while(cin>>n)
{
if(n ==0)
break;
P.clear();
I.clear();
char p;
cin>>p;
if(p == 'P')
{
for(int i=0;i<n;i++)//输入数据
{
int d;
cin>>d;
P.push_back(d);
}
//计算
for(int i=0;i<n;i++)
{
int count =0;
int q = SearchI(i+1);
for(int j=0;j<q;j++)
{
if(P[j]>i+1)
count++;
}
if(i > 0)
cout<<" ";
cout<<count;
}
}
if(p == 'I')
{
//输入
for(int i=0;i<n;i++)
{
int d ;
cin>>d;
P.push_back(d);
I.push_back(0);
}
//计算
for(int i=n;i>0;i--)
{
list<int>::iterator ite = I.begin();
for(int j=0;j<P[i-1];j++)
{
++ite;
}
I.insert(ite,i);
}
I.remove(0);
//输出
int f =0;
list<int>::iterator ite = I.begin();
while(ite != I.end())
{
if(f > 0)
cout<<" ";
cout<<*ite;
f++;
++ite;
}
}
cout<<endl;
}
return 0;
}
ZOJ 1201 答案
猜你喜欢
转载自blog.csdn.net/weixin_40902100/article/details/82930664
今日推荐
周排行