做网站数据库及相关配置,硬件开发外包,启动 wordpress,网站做整站做优化相当于是一个模拟#xff0c;为了得到合适的顺序#xff0c;我们的策略是每次找到当前没有被翻的里面最大的#xff0c;然后把他翻到最前面#xff0c;然后再翻到合适的位置。
需要判断一下当前是否已经有序#xff0c;有序就不用翻了。
如果在最开头找到了合适的当前应…相当于是一个模拟为了得到合适的顺序我们的策略是每次找到当前没有被翻的里面最大的然后把他翻到最前面然后再翻到合适的位置。
需要判断一下当前是否已经有序有序就不用翻了。
如果在最开头找到了合适的当前应该翻的应该不翻因为最开头不需要。
#includecstdio
#includecstring
#includecstdlib
#includealgorithm
#includeiostream
#includecmath
#includeclimits
#includequeue
#includevector
#includeset
#includemap
#includesstream
#includestring
using namespace std;typedef long long ll;
const int INF0x3f3f3f3f;
const int MAXN35;
int a[MAXN],tot,b[MAXN],idx,c[MAXN];bool ok()
{int t0;for(int i0;itot;i){if(a[i]t) ta[i];else return false;}return true;
}void Reverse(int x)
{int tmp;for(int i0,j(x1)/2;ij;i){tmpa[i]; a[i]a[x-i]; a[x-i]tmp;}
}int main()
{string line;int tmp;while(getline(cin,line)){tot0;stringstream ss(line);while(ss tmp){b[tot]tmp;a[tot]tmp;c[tot]tmp;tot;}for(int i0;itot-1;i){printf(%d ,c[i]);}printf(%d\n,c[tot-1]);sort(b,btot);while(!ok()){idxtot-1;while(idx0 a[idx]b[idx]){idx--;}if(idx0) break;for(int i0;iidx;i){if(a[i]b[idx]){if(i0)break;printf(%d ,tot-i);Reverse(i);break;}}printf(%d ,tot-idx);Reverse(idx);}printf(0\n);}return 0;
}