中山纪中Day1--普及

早上一起,扑面是瓢泼的大雨。跨过千山万水,来到纪中门前,毅然以一种大无畏的英雄气概跨进了考场。

面对四道神题。然后,我成功过五关斩六将,A掉了2道题!!!


T1:APPLE

   Wexley最近发现了一个古老的屏幕游戏。游戏的屏幕被划分成n列。在屏幕的底端,有一个宽为m列的篮子(m<n)。在游戏过程中,Wexley能左右移动这个篮子,            Wexley的操作很犀利,移动是瞬间完成的,但是篮子必须始终都在屏幕中。 苹果从屏幕的顶端落下,每个苹果从n列中的某一列顶端掉落,垂直掉落到屏幕的底端。每个苹果总是在上一个苹果掉落到底端的时候开始掉落。Wexley想要通过移动篮子来接住所有的苹果。起先,篮子在屏幕的最左端。
        求出Wexley要接住所有的苹果所需移动的最短距离。 

思路:此题略简单,设置左端与右端,然后判断,移动,储蓄即可。

见代码:

#include<cstdio>
#include<cstring>
#include<cmath>
#include<algorithm>
using namespace std;
int n,m,k,a[21],l=1,r,ans;
int main()
{
    //freopen("apple.in","r",stdin);
    //freopen("apple.out","w",stdout);
    scanf("%d%d%d",&n,&m,&k);
    r=m;
    for(int i=1;i<=k;i++)
    {
        scanf("%d",&a[i]);
        if(a[i]>r)
        {
            while(a[i]>r)
            {
                ans++;
                l++;
                r++;
            }
        }
        while(a[i]<l)
        {
            ans++;
            l--;
            r--;
        }
    }
    printf("%d",ans);
    return 0;
}

猜你喜欢

转载自www.cnblogs.com/qing1/p/11281984.html