#include<stdio.h>
#include<string.h>
#include<algorithm>
#include<iostream>
#include <sstream>
using namespace std;
int s[500],a[500],w[500];
char in[10000];
int main(){
int n,i,j,x,y,ed,flag;
string line;
while(getline(cin, line)){
stringstream sin(line);
n=0;
while(sin >> s[n])
a[n]=s[n],n++;
printf("%d",s[0]);
for(i=1;i<n;i++)
printf(" %d",s[i]);
puts("");
sort(a,a+n);
ed=n-1;
while(ed>=0){
if(s[ed]==a[ed]){
ed--;
continue;
}
for(i=0;i<n;i++)
if(s[i]==a[ed]){
x=i;
break;
}
if(x!=0 && x!=ed){
printf("%d ",n-x);
memcpy(w,s,sizeof(s));
for(i=0;i<=x;i++){
s[i]=w[x-i];
}
}
flag=1;
for(i=0;i<n;i++)
if(s[i]!=a[i])
flag=0;
if(flag) break;
if(x!=ed){
printf("%d ",n-ed);
memcpy(w,s,sizeof(s));
for(i=0;i<=ed;i++){
s[i]=w[ed-i];
}
}
flag=1;
for(i=0;i<n;i++)
if(s[i]!=a[i])
flag=0;
if(flag) break;
ed--;
}
puts("0");
memset(in,0,sizeof(in));
memset(s,0,sizeof(s));
memset(a,0,sizeof(a));
}
}
沒有留言:
張貼留言