uva120 Stacks of Flapjacks 入门经典II 第八章例题8-1
来源:互联网 发布:linux下配置ip地址 编辑:程序博客网 时间:2024/06/06 05:55
题目链接:http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=3&page=show_problem&problem=56
题目分析:输入n个数(n<=30),假设编号0~n-1,每次将子序列中最大的数与位置0对换(位置0与0不用换),然后将这个子序列反转,最终数组要从小到大排列好。
(位置p为子序列中数最大的位置,每次对换要输出一个数,即n-p,代表从右往左数第几个数,如果描述不清请看样例)
样例分析: 输入8 4 6 7 5 2,
①:8为最大的数(位置0与0 不用对换),然后将位置0于最后一个位置对换,即2 5 7 6 4 8;
②:2 5 7 6 4中7最大,将位置0与位置2对换(即7),对换后:7 5 2 6 4 ,然后反转,即4 6 2 5 7,刚开始对换好的8不用动,这一步对换的结果:4 6 2 5 7 8
③:4 6 2 5中6最大,将6对换到位置0,即6 4 2 5,然后反转,即5 2 4 6,加上前俩步的结果,即5 2 4 6 7 8
④:5 2 4中5最大(位置0与0 不用对换),然后反转,即4 2 5,加上前三步结果,即4 2 5 6 7 8
⑤:4 2中4最大(位置0与0 不用对换),然后反转,即2 4,加上前四步结果,即2 4 5 6 7 8,完毕。
对于输出:每次对换时输出位置k,即从右往左数第几个数。最后输出0。
①:8与2(即位置0与位置5)对换时输出1,从右往左数2是第一个数,所以输出1。
②:将2 5 7 6 4 8中2和7对换了,输出4(从右往左数7是第四个数)。然后反转,输出2。
③:4 6 2 5 7 8中4和6对换,输出5,然后反转,输出3.
④:输出4.
⑤:输出5.
最后输出0,结束。
代码仿照个刘汝佳代码写的:
#include<cstdio>#include<iostream>#include<string>#include<sstream>#include<algorithm>using namespace std;int n,a[55];void file(int p){ for(int i=0;2*i<p;i++)//此处不能是i<p/2 swap(a[i],a[p-i]); printf("%d ",n-p);}int main(){ string s; while(getline(cin,s)){ cout << s << endl; stringstream ss(s); n=0; int num; while(ss >> num) a[n++]=num; for(int i=n-1;i>0;i--){ int p=max_element(a,a+i+1)-a; if(i==p) continue; if(p>0) file(p); file(i); } printf("0\n"); } return 0;}
- uva120 Stacks of Flapjacks 入门经典II 第八章例题8-1
- Uva120 Stacks of Flapjacks【构造法】【例题8-1】
- UVa120 例题 8-1 煎饼 (Stacks of Flapjacks)
- 例题8-1 煎饼(Stacks of Flapjacks, UVa120)
- uva120 stacks of flapjacks
- uva120 Stacks of Flapjacks
- uva120 Stacks of Flapjacks
- UVA120 Stacks of Flapjacks
- UVa120 Stacks of Flapjacks
- UVA120 - Stacks of Flapjacks
- UVa120 - Stacks of Flapjacks (STL)
- 【UVa120】Stacks of Flapjacks 模拟
- Stacks of Flapjacks 翻煎饼-UVA120 白书第五章
- UVa #120 Stacks of Flapjacks (例题8-1)
- Uva120 Stacks of Flapjacks 翻煎饼
- 解题报告 之 UVA120 Stacks of Flapjacks
- [UVA120]Stacks of Flapjacks[STL][构造]
- 煎饼(Stacks of Flapjacks,UVA120)
- 点滴记录——Ubuntu 14.04中安装Sublime Text 3并使用SublimeClang插件
- SharePoint 2013 配置开发环境,需安装VS2012插件
- 快速启动oracle监听和服务
- java 笔记---jsp
- Apache + Tomcat集群配置详解
- uva120 Stacks of Flapjacks 入门经典II 第八章例题8-1
- cocos2dx 3.3 调度器
- MapReduce程序打成jar包在远程服务器运行
- os x 10.10 Yosemite ON vmware workstation 11
- Cts框架解析(24)-case的组织
- Java中的参数传递问题
- Mysql的等价谓词重写
- Samba
- Linux启动时显示Grub命令行及修改