码迷,mamicode.com
首页 > 其他好文 > 详细

翻煎饼(swust oj 0254)

时间:2014-12-18 21:52:36      阅读:686      评论:0      收藏:0      [点我收藏+]

标签:des   style   blog   http   io   color   sp   for   strong   

Description:http://acm.swust.edu.cn/problem/0254/

解题思路:先找出最大的煎饼,先翻转到最上面,最后翻转到最下层

AC代码:

#include<stdio.h>
int time=0;
int digit[1000];
void turn(int a,int b)//翻煎饼
{
    int i=a,j=b;
    while(i<j){
        int t=digit[i];
        digit[i]=digit[j];
        digit[j]=t;
        i++;
        j--;
    }
    time++;//次数加一
}
int Findmax(int a,int b)//找到最大元素的脚标
{
    int max,i;
    max=a;
    for(i=a+1;i<=b;i++)
        if(digit[i]>digit[max])
            max=i;
    return max;
}
void change(int y)//先找出最大的数,先翻转到最上面,在翻转到最下层
{
    if(y==0)
        return;
    int maxn=Findmax(0,y);
    if(maxn!=0&&maxn!=y){
        turn(0,maxn);
        turn(0,y);
    }
    else if(maxn==0)
        turn(0,y);
    change(y-1);
}
int main()
{
    int N;
    scanf("%d",&N);
    int i;
    for(i=0;i<N;i++)
        scanf("%d",&digit[i]);
    change(N-1);
    printf("%d\n",time);
//    for(i=0;i<N;i++)
    //    printf("%d ",digit[i]);
    return 0;
}

 

翻煎饼(swust oj 0254)

标签:des   style   blog   http   io   color   sp   for   strong   

原文地址:http://www.cnblogs.com/yanglingwell/p/4172659.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!