http://acm.hust.edu.cn/vjudge/contest/view.action?cid=100977#problem/A
#include<bits/stdc++.h> #define REP(i,a,b) for(int i=a;i<=b;i++) #define MS0(a) memset(a,0,sizeof(a)) using namespace std; typedef long long ll; const int maxn=1000100; const int INF=(1<<29); int a[maxn],n; char s[maxn];int ls; int tmp[maxn]; void flip(int x) { REP(i,1,x) tmp[i]=a[x+1-i]; REP(i,1,x) a[i]=tmp[i]; printf("%d ",n+1-x); } void solve(int *a,int m) { if(m==1) return; int x=1; REP(i,1,m) if(a[i]>a[x]) x=i; if(x!=m){ if(x!=1) flip(x); flip(m); } solve(a,m-1); } int main() { freopen("in.txt","r",stdin); while(gets(s)!=NULL){ ls=strlen(s); if(ls==0) continue; s[ls]=' ';s[++ls]='