UVa 120 Stacks of Flapjacks【构造法】
2015-03-25 20:56
393 查看
题意:给出n张煎饼,从上到下输入,每张煎饼上面都有一个数字,厨师每次可以选择第k张煎饼,进行翻转操作,设计一种方法使得所有煎饼按照从小到大排序(最上面的煎饼最小)
首先是这个翻转的操作,如下图
View Code
自己写的代码不仅不忍直视= =还运行不出结果,最后还是看的lrj的代码 = =
go---go---go
首先是这个翻转的操作,如下图
#include<cstdio> #include<iostream> #include<sstream> #include<algorithm> using namespace std; const int maxn=10005; int a[maxn]; int n; void flip(int p){ for(int i=0;i<p-i;i++) swap(a[i],a[p-i]); printf("%d ",n-p); } int main(){ string s; while(getline(cin,s)){ cout<<s<<"\n"; stringstream ss(s) ; n=0; while(ss>>a ) n++; for(int i=n-1;i>0;i--){ int p=max_element(a,a+i+1)-a;//找到最大的数的下标 if(p==i) continue;//如果这块饼的位置是对的,就不管 if(p>0) flip(p);//如果饼不是在0位置,那么将这块饼 翻到0位置 flip(i);//将这块 饼翻到它应该在的位置 } printf("0\n"); } return 0; }
View Code
自己写的代码不仅不忍直视= =还运行不出结果,最后还是看的lrj的代码 = =
go---go---go
相关文章推荐
- Uva120 Stacks of Flapjacks【构造法】【例题8-1】
- (白书训练计划)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(练习deque)
- 煎饼(Stacks of Flapjacks,UVa 120)
- uva 120 C - Stacks of Flapjacks
- UVA 120 - Stacks of Flapjacks(构造)
- 煎饼排序 (Stacks of Flapjacks, Uva 120)
- uva 120 Stacks of Flapjacks(模拟)
- uva120 Stacks of Flapjacks (构造法)
- uva 120 Stacks of Flapjacks(检索)
- uva120 stacks of flapjacks
- UVA120 Stacks of Flapjacks【排序模拟】
- UVA 120 - Stacks of Flapjacks
- uva - 120 - Stacks of Flapjacks
- UVA - 120 Stacks of Flapjacks
- UVA 120 Stacks of Flapjacks