// stacks of flapjacks.cpp : Defines the entry point for the console application. // #include "stdafx.h" using namespace std; int _tmain(int argc, _TCHAR* argv[]) { vector<int> flapjacks; //Save the flapjacks; int data=0; while(cin>>data)flapjacks.push_back(data); for(int i=0;i!=flapjacks.size();++i)cout<<flapjacks.at(i)<<" "; cout<<'/n'; for(int index=flapjacks.size()-1;index>=0;--index) { int maxflap=flapjacks.at(index); int maxindex=index; int flip=0; for(int indey=0;indey<=index;++indey) { if(flapjacks.at(indey)>maxflap) { maxflap=flapjacks.at(indey); maxindex=indey; } } //cout<<maxflap<<" "<<maxindex<<"/n"; if(maxflap==flapjacks.at(index))continue; else { if(maxindex==0) { flip=flapjacks.size()-index; int temp1=0; int x=0; int y=index; while(y>x) { temp1=flapjacks.at(x); flapjacks.at(x)=flapjacks.at(y); flapjacks.at(y)=temp1; ++x; --y; } cout<<flip<<" "; } else { flip=flapjacks.size()-maxindex; int i=0; int j=maxindex; int temp2=0; while(j>i) { temp2=flapjacks.at(i); flapjacks.at(i)=flapjacks.at(j); flapjacks.at(j)=temp2; ++i; --j; } cout<<flip<<" "; flip=flapjacks.size()-index; int m=0; int n=index; int temp3=0; while(n>m) { temp3=flapjacks.at(m); flapjacks.at(m)=flapjacks.at(n); flapjacks.at(n)=temp3; ++m; --n; } cout<<flip<<" "; } } } cout<<0<<"/n"; system("pause"); return 0; }