杭电OJ1008

简单水题目,http://acm.hdu.edu.cn/showproblem.php?pid=1008

这道题存粹水题目,就是在输入输出的基础上加了点数学运算,但是如果不小心的话还是会得不到理想的额答案;

题意:简单英文,不写了;

MyCode:

#include <iostream>
using namespace std;
int main( )
{
    int t;
    int sum=0,sum1=0;
    int n=0;
    cin>>t;
    while(t)
    {
        int *s=new int [t];
        for(int i=0;i<t;i++)
        {
            cin>>s[i];
        }

        if(t==1)
        {
            sum=6*s[0]+5;
        }

        else
        {
            sum=6*s[0]+5;
            for(int i=1;i<t;i++)
            {
                if(s[i]>s[i-1])
                {
                    sum+=6*(s[i]-s[i-1])+5;

                }

                else
                {
                    sum+=4*(s[i-1]-s[i])+5;
                }

            }

        }

        cout<<sum<<endl;
        cin>>t;
        sum=0;
    }

    return 0;

}

 

Code from net:网友精简版:

就是输入一个就对一个进行处理,我的那个真是太累赘了,谢了一大堆

#include <stdio.h>
int main()
{
    int n,a,c,s;
    while(~scanf("%d",&n),n) {
        s = c = 0;
        while(n--) {
            scanf("%d",&a);
            s += (a > c? (a - c) * 6 + 5: (c - a) * 4 + 5);
            c = a;
        }
        printf("%d\n",s);
    }
}

学习要持之以恒,加油!

你可能感兴趣的:(杭电)