uva 120 - Stacks of Flapjacks
2014-07-23 16:34
447 查看
#include<cstdio> #include<string.h> #include<iostream> #include<algorithm> using namespace std; int a[31]; int b[31]; int c[31]; int a1; char ch; int ans[31]; int tt=0; void work(int tar,int pos,int n) { for(int i=0; i<=n; i++) { if(a[i]==tar&&i!=0) { ans[tt++]=n-i; for(int j=0; j<=i/2; j++) { int temp = a[j]; a[j]=a[i-j]; a[i-j]=temp; } } } ans[tt++]=n-pos; for(int j=0; j<=pos/2; j++) { int temp = a[j]; a[j]=a[pos-j]; a[pos-j]=temp; } } int main() { while(scanf("%d",&a1)!=EOF) { tt=0; memset(a,0,sizeof(a)); memset(b,0,sizeof(b)); memset(c,0,sizeof(c)); a[0]=a1; int t=1; while(scanf("%c",&ch)) { if(ch=='\n') break; scanf("%d",&a[t++]); } memcpy(b,a,sizeof(int)*(t)); memcpy(c,a,sizeof(int)*(t)); sort(b,b+t); for(int i=t-1; i>=0; i--) { if(a[i]!=b[i]) { work(b[i],i,t); } } for(int j=0;j<t;j++) { if(j) printf(" "); printf("%d",c[j]); } printf("\n"); for(int i=0; i<tt; i++) { printf("%d ",ans[i]); } printf("0\n"); } return 0; }
相关文章推荐
- uva 120 - Stacks of Flapjacks (RE)
- 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
- Uva120 Stacks of Flapjacks 翻煎饼
- UVa 120 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
- UVA 120 Stacks of Flapjacks
- UVA - 120 Stacks of Flapjacks
- UVa 120 - Stacks of Flapjacks
- uva 120 stacks of flapjacks ——yhx