zznuoj 2173 春天的英雄梦

http://47.93.249.116/problem.php?id=2173

n=3能够发现规律。最少一定是按照顺序123来   最多就是312

 zznuoj 2173 春天的英雄梦_第1张图片

 

暴力解决就可以了  n很小   O(n)复杂度就过了

同时能够推出来公式 O(1)复杂度    注意结果为long long

 zznuoj 2173 春天的英雄梦_第2张图片

#include
#include
#include
#include
#include
#include
#include
#include
#include
using namespace std;
#define LL long long
#define N  1006
int main()
{
    LL n;
    while(scanf("%lld",&n)!=EOF)
    {
        int t=1;
        LL s=0,sum1=0,sum2=0;
        while(t<=n)
        {
            s++;
            sum1+=s*t;
            s+=t++;
        }
        LL e=1,f=n;
        s=0;t=0;
        while(e<=f)
        {
            s+=n;
            if(t&1)
            {
                sum2+=s*e;
                s+=e++;
            }
            else
            {
                sum2+=s*f;
                s+=f--;
            }
            n--;t++;
        }
        printf("%lld %lld\n",sum1,sum2);
    }
    return 0;
}
#include
#include
#include
#include
#include
#include
#include
#include
#include
using namespace std;
#define LL long long
#define N  1006
int main()
{
    LL n;
    while(scanf("%lld",&n)!=EOF)
    {
        printf("%lld %lld\n",(3*n*n*n*n+10*n*n*n+9*n*n+2*n)/24,(7*n*n*n*n+10*n*n*n+5*n*n+2*n)/24);
    }
    return 0;
}

 

转载于:https://www.cnblogs.com/a719525932/p/9498336.html

你可能感兴趣的:(zznuoj 2173 春天的英雄梦)