UVA 120Stacks of Flapjacks
来源:互联网 发布:路由器里的访客网络 编辑:程序博客网 时间:2024/05/16 10:22
水题。
#include<iostream>#include<cstdio>#include<cstring>using namespace std;int num[50],num1[50],len_num;int get_max(int ii){ int max=ii; for(int i=0; i<ii; i++) if(num[i]>num[max]) max=i; return max;}void resever(int jj){ for(int i=0; i<=jj; i++) num[i]=num1[jj-i]; for(int i=0; i<=jj; i++) num1[i]=num[i];}int main(){ int max; while(scanf("%d",&num[0])!=EOF) { len_num=1; while(getchar()!='\n') cin>>num[len_num++]; for(int i=0; i<len_num; i++) num1[i]=num[i]; for(int i=0; i<len_num-1; i++) cout<<num[i]<<" "; cout<<num[len_num-1]<<endl; for(int i=len_num-1; i>=0; i--) { int j; max=get_max(i); if(max!=i) { if(0==max) { resever(i); cout<<len_num-i<<" "; } else { resever(max); cout<<len_num-max<<" "; resever(i); cout<<len_num-i<<" "; } } } cout<<"0"<<endl; } return 0;}
栈的使用;
#include <algorithm>#include <iostream>#include <iterator>#include <deque>#include <string>#include <sstream>using namespace std;//主函数int main(void) { //循环处理输入的每组字符串。每次循环一轮要输出最后的0和换行 for (string strLine; getline(cin, strLine); cout << '0' << endl) { //按要求回应输入的字符串行 cout << strLine << endl; //构造字符串流,以遍转换为数字 istringstream iss(strLine); //将字符串转为数字,逆序(最底的在最前)存储在Stack里 deque<int> Stack; for (int nDiam; iss >> nDiam; Stack.push_front(nDiam)); //从底依次上向进行翻转,保持i上面的都比i小 for (deque<int>::iterator i = Stack.begin(); i != Stack.end(); ++i) { //找出i上面(包括i)的最大元素 deque<int>::iterator iMax = max_element(i, Stack.end()); //如果最大元素就是i则继续(将i指向上面一个) if (iMax != i) { //否则要进行需翻转操作 //如果最大的不在最上面,则需先翻转到最上面 if (iMax != Stack.end() - 1) { reverse(iMax, Stack.end()); //输出翻转的起点 cout << distance(Stack.begin(), iMax) + 1 << ' '; } //将最大的从最上面翻转到i的位置上 reverse(i, Stack.end()); //输出翻转的起点 cout << distance(Stack.begin(), i) + 1 << ' '; } } } return 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
- 计算机程序解释与构造第二讲a
- 路过CSS ,打打酱油
- session,request,application对<s:textfield/>设置默认值
- 2013蓝桥杯Java本科预赛B组(2)
- matlab 坐标变换/时间和日期
- UVA 120Stacks of Flapjacks
- matlab 基本数学函数(2)
- 线段树总结
- jetty详解、优化、配置
- 你搞图论有毛用啊!!
- UVA 10188 Automated Judge Script
- 最短路径问题 + 迪杰斯特拉算法
- Linux网络编程socket bind() 函数
- uva 305 Joseph