UVA 120Stacks of Flapjacks
来源:互联网 发布:淘宝买宠物狗 编辑:程序博客网 时间:2024/05/16 14:55
题目大意:给出一个序列,以从第一个数到第x个数全部颠倒的方式将这个序列从小到大排序
解题思路:把当前最大的放到最底端,依次循环
#include <cstdio>#include <iostream>using namespace std;#define maxn 1000int a[maxn];int cou;void change(int mx, int p) { int re; if(mx != 0) { re = cou - mx; cout << re << " "; for(int i = 0; i < (mx+1)/2; i++) { int t = a[i]; a[i] = a[mx-i]; a[mx-i] = t; } } re = cou - p; cout << re << " "; for(int i = 0; i < (p+1)/2; i++) { int t = a[i]; a[i] = a[p-i]; a[p-i] = t; }}void output() { for(int i = 0; i < cou; i++) { cout << a[i]; if(i != cou-1) { cout << " "; } } cout << endl; int p = cou - 1, mx = p; while(p >= 0) { for(int i = 0; i < p; i++) { if(a[mx] <= a[i]) { mx = i; } } if(mx != p) { change(mx, p); } p--; mx = p; } cout << 0 << endl;}int main() { cou = 0; while(cin >> a[cou] && a[cou]) { cou++; char ch = getchar(); if(ch == '\n') { output(); cou = 0; continue; } } return 0;}
阅读全文
0 0
- UVA 120 Stacks of Flapjacks
- UVa 120 - Stacks of Flapjacks
- uva 120 Stacks of Flapjacks
- UVA 120 - Stacks of Flapjacks
- uva 120 - Stacks of Flapjacks
- UVa 120 - Stacks of Flapjacks
- UVA 120 - Stacks of Flapjacks
- UVa 120 - Stacks of Flapjacks
- UVA 120Stacks of Flapjacks
- UVA 120 - Stacks of Flapjacks
- uva 120 Stacks of Flapjacks
- UVA 120 Stacks of Flapjacks
- uva 120 Stacks of Flapjacks
- uva - 120 - Stacks of Flapjacks
- UVa 120 - Stacks of Flapjacks
- UVA - 120 - Stacks of Flapjacks
- UVa:120 - Stacks of Flapjacks
- UVa 120 - Stacks of Flapjacks
- InstantClient安装使用
- java.util.HashMap中的key为对象的问题,对象key获得相应的value值
- iOS_身份证号码校验
- 德国启用含有RFID芯片的新型身份证
- ACM单词拼接
- UVA 120Stacks of Flapjacks
- 51 nod 1574 排列转换(思维 贪心)
- Chrome开发者工具详解(1)-Elements、Console、Sources面板 Chrome开发者工具面板
- 归并排序(递归实现)
- SpringMVC4.* @ResponseBody 中文乱码无法解决
- iOS开发之网络音乐播放器(SC音乐)(一)
- 2. Add Two Numbers
- android编程中用到的小功能集合(持续更新)
- C++函数新特性——函数模版