#include<bits/stdc++.h>
using namespace std;
#define SET(a) memset(a,-1,sizeof(a))
#define CLR(a) memset(a,0,sizeof(a))
#define PI acos(-1.0)
#define MOD 1000000007
#define MX 100010
vector<int>v;
void flipVector(int id)
{
stack<int>stk;
int i;
for(i=0;i<id;i++)
stk.push(v[i]);
i=0;
while(!stk.empty())
{
v[i++]=stk.top();
stk.pop();
}
return;
}
int main()
{
ios_base::sync_with_stdio(0);cin.tie(0);
int n, tc, kk=1, tmp;
string s;
while(getline(cin, s))
{
vector<int>ans;
istringstream os(s);
while(os>>tmp)
v.push_back(tmp);
int vl=v.size();
for(int i=0;i<vl;i++)
{
if(i) cout<<" ";
cout<<v[i];
}
cout<<"\n";
int l=vl;
for(int i=0;i<l;l--)
{
int mx=0, id;
for(int j=0;j<l;j++)
if(v[j]>mx)
id=j, mx=v[j];
if(id==l-1) continue;
if(id!=0)
{
ans.push_back(vl-id);
flipVector(id+1);
}
ans.push_back(vl-l+1);
flipVector(l);
}
for(int i=0;i<ans.size();i++)
cout<<ans[i]<<" ";
cout<<"0\n";
v.clear();
}
return 0;
}
No comments:
Post a Comment