120 - Stacks of Flapjacks
来源:互联网 发布:购买域名需要多少钱 编辑:程序博客网 时间:2024/05/29 04:23
这道题的udebug里有测试数据,但是数据的答案貌似是错的。。真坑啊,还好我坚定的提交了~~
思路紫书上已经说的很清楚了,从后向前扫描数组(从下向上) 从最大的煎饼开始处理,如果第i 大的煎饼不在它应该在的位置,就对这个煎饼进行处理,先翻到最顶上,再翻到它应该在的位置。
#include<bits/stdc++.h>using namespace std;int n,a[100],b[100];string s,buf;int main(){ while(getline(cin,s)){ stringstream ss(s); int kase = 0,maxn = 0; while(ss>>buf) { int v ; sscanf(&buf[0],"%d",&v); if(v==0) continue; a[kase] = b[kase] = v; kase++; } sort(b,b+kase); for(int i=0;i<kase-1;i++) printf("%d ",a[i]); printf("%d\n",a[kase-1]); for(int i=kase;i>=1;i--){ if(a[i-1]==b[i-1]) continue; else { int ans ; for(int j=0;j<kase;j++){ if(a[j]==b[i-1]) { ans = j; break; } } if(ans!=0) { printf("%d ",kase-ans); for(int k=0;k<(ans+1)/2;k++){ int t = a[k]; a[k] = a[ans-k]; a[ans-k] = t; } } printf("%d ",kase-i+1); for(int k=0;k<(i+1)/2;k++){ int t = a[k]; a[k] = a[i-k-1]; a[i-k-1] = t; } } } printf("0\n"); } return 0;}
1 0
- 120 - Stacks of Flapjacks
- 120 - Stacks of Flapjacks
- 120 - Stacks of Flapjacks
- 120 - Stacks of Flapjacks
- 120 - Stacks of Flapjacks
- 120 - Stacks of Flapjacks
- 120 - Stacks of Flapjacks
- 120 - Stacks of Flapjacks
- 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
- UVaOJ 120 - Stacks of Flapjacks
- UVA 120 - Stacks of Flapjacks
- UVa 120 - Stacks of Flapjacks
- POJ 3258 River Hopscotch (二分搜索)
- HDU 1015 Safecracker DFS搜索
- subline与mingw构建c编译环境
- 判断要素所在图层
- 自定义注解和反射实例
- 120 - Stacks of Flapjacks
- java文件拷贝
- JavaScript简介
- java内存分配和String类型的深度解析
- 用户为什么弃Android转投iPhone?
- 在phpmyadmin中显示中文就出现 “????” 乱码
- 在Eclipse中安装SVN
- java源码分析之HashMap
- java 内存操作流