zoukankan      html  css  js  c++  java
  • 问题 A: 平板游戏

    题目描述
    小黑和小白喜欢玩平板游戏,游戏一开始屏幕上会出现很多个图形,玩家在每一轮可以合并两个图形,当只有一个图形的时候游戏结束,每个图形都有一个大小,合并完成后的图形的大小为x+y,x和y分别为合并之前的两个图形,与此同时,玩家会获得x*y的分数。
    小黑和小白新开了一盘游戏,屏幕上出现了n个图形,每个图形的大小已知,请算出小黑和小白最大能获得的分数
    输入
    第一行输入一个整数n (2 <= n <= 100 )
    第二行输入n个整数范围在1到100之间

    输出
    输出一个整数,表示能获得的最高分

    样例输入
    【样例输入1】
    3
    1 2 3
    【样例输入2】
    2
    3 4
    【样例输入3】
    3
    2 2 2

    样例输出
    【样例输出1】
    11
    【样例输出2】
    12
    【样例输出3】
    12

    题解:这题我在写的时候还排了下序,结果赛后发现居然不用排序也行,是恒成立的.呜呜呜,难怪刚开赛就有人过了,这么简单.
    为啥恒成立我也没搞清楚.会了再补
    题解:直接从左往右枚举即可.
    #include <bits/stdc++.h>
    const int N=150;
    using namespace std;
    int a[N];
    int main()
    {
        int n;
        cin>>n;
        int ans=0;
        for(int i=1;i<=n;i++){
                cin>>a[i];
                ans+=a[i]*a[i-1];
                a[i]+=a[i-1];
        }
        cout<<ans<<endl;
        return 0;
    }
    
  • 相关阅读:
    换种方式思考问题
    win7 下的open live writer代码插件
    vue-todolist
    vue-新建项目出错情况分析
    vue新建项目
    AJAX(一、基本知识)
    2016年度工作总结
    常看常遇见之一——BS架构VS CS架构
    thinkjs——session
    关于Listener
  • 原文地址:https://www.cnblogs.com/-yjun/p/10586281.html
Copyright © 2011-2022 走看看