题目:

小a非常喜欢这个数字,因为
现在他有一个长度为的序列,其中只含有这三种数字
为序列中第个数,你需要重新排列这个数列,使得最大(公式的含义是:每个数与前一个数差的平方的和)
注意:我们默认

代码:

#include <stdio.h>
 
int main()
{
    int n;
    //输入的时候
    while(scanf("%d",&n)!=EOF)
    {
        int a=0,b=0,c=0,sum=0;
        int zz,xx;
        //输入一行的n个整数
        for(int i=0;i<n;i++)
        {
            int num;
            scanf("%d",&num);
            if(num==0)
                a++;
            if(num==2)
                b++;
            if(num==4)
                c++;
        }
        //如果4 和 0 的个数相等的话
        if(c==a)
        {
            if(b!=0)
                sum=16*(c+a)+4;
            else
                sum=16*(c+a);
        }
        //如果4 比 0 的个数多的话
        else if(c>a)
        {
            zz = c - (c-a-1);  //0 少的 4 的个数
            if(b==0)
                sum = 16*(a+zz);
            else if((b-1)>=(c-a-1))
                sum = 16*(a+zz)+4+4*2*(c-a-1);
            else
                sum = 16*(a+zz)+4+4*(c-zz+b-1);
        }
        //如果4 比 0 的个数少的话
        else if(c<a)
        {
            xx = a-c; //剩下的0的个数
            if(xx==b)
                sum = 16*2*c+4*2*xx;
            else
            {
                if(b==0)
                    sum = 16*2*c;
                else
                {
                    int number = xx<b? xx:b;
                    sum = 16*2*c+4*(2*number+1);
                }
            }
        }
        printf("%d",sum);
    }
}
 
解法:
1. 将4 0 2 分别统计个数
2. 通过贪心,分别4 0 4 0 2 (这里有4和0的数目关系)
 
遇到的问题:
无法将解法流畅的转换成代码!多写
提交的时候,c和从c++还是有区别的,用c++提交显示错误

2019寒假算法基础集训营1 - B 小a与"204"的更多相关文章

  1. 牛客寒假算法基础集训营1 D 小a与黄金街道

    链接:https://ac.nowcoder.com/acm/contest/317/D 首先被数学题吓到了.gcd(n,x)==1 那么必定有 gcd(n,n-x)==1 证明略. 并且两个人的对答 ...

  2. 2020牛客寒假算法基础集训营2 J题可以回顾回顾

    2020牛客寒假算法基础集训营2 A.做游戏 这是个签到题. #include <cstdio> #include <cstdlib> #include <cstring ...

  3. 2020牛客寒假算法基础集训营1 J题可以回顾回顾

    2020牛客寒假算法基础集训营1 这套题整体来说还是很简单的. A.honoka和格点三角形 这个题目不是很难,不过要考虑周全,面积是1,那么底边的长度可以是1也可以是2, 注意底边1和2会有重复的, ...

  4. Applese 的毒气炸弹 G 牛客寒假算法基础集训营4(图论+最小生成树)

    链接:https://ac.nowcoder.com/acm/contest/330/G来源:牛客网 Applese 的毒气炸弹 时间限制:C/C++ 2秒,其他语言4秒 空间限制:C/C++ 262 ...

  5. 牛客寒假算法基础集训营3B 处女座的比赛资格(用拓扑排序解决DAG中的最短路)

    链接:https://ac.nowcoder.com/acm/contest/329/B 来源:牛客网 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 262144K,其他语言5242 ...

  6. 牛客寒假算法基础集训营4 I题 Applese 的回文串

    链接:https://ac.nowcoder.com/acm/contest/330/I 来源:牛客网 自从 Applese 学会了字符串之后,精通各种字符串算法,比如--判断一个字符串是不是回文串. ...

  7. 牛客寒假算法基础集训营4 I Applese 的回文串

    链接:https://ac.nowcoder.com/acm/contest/330/I来源:牛客网 自从 Applese 学会了字符串之后,精通各种字符串算法,比如……判断一个字符串是不是回文串. ...

  8. 牛客寒假算法基础集训营2 【处女座与复读机】DP最小编辑距离【模板题】

    链接:https://ac.nowcoder.com/acm/contest/327/G来源:牛客网 一天,处女座在牛客算法群里发了一句“我好强啊”,引起无数的复读,可是处女座发现复读之后变成了“处女 ...

  9. 2020牛客寒假算法基础集训营6 I.导航系统 (最小生成树)

    https://ac.nowcoder.com/acm/contest/3007/I 题中给定的图必定是一棵树 容易发现,如果将输入的N(N-1)个距离看做N(N-1)条无向边的话,那么如果数据合法, ...

随机推荐

  1. 使用javassist进行动态编程

    今天在研究dubbo时,发现一个新的知识点,可以使用javassist包进行动态编程,hibernate也使用该包进行编程.晚上百度了很多资料,将它的特性以代码的形式展现出来. package com ...

  2. js代码之编程习惯

    编程习惯: 异常处理 如果你没有使用异常处理的习惯,这可能是因为你并未真正的理解它的作用.当你正确使用异常处理之后,你会发现你的代码最显著的变化就是:少了很多的 if-else 语句 . 虽然在 JS ...

  3. webpack+typescript

    1. npm install --save typescript 2. npm install --save ts-loader webpack.config.js module.exports = ...

  4. 逆袭之旅DAY13.东软实训.Oracle.简单的查询语句.限制.排序

    2018-07-09  21:34:00 一.简单查询: .查询数据表的所有列: SELECT * FROM 表名; SELECT 列名,列名.... FROM 表名; .起别名: SELECT 列名 ...

  5. TTL特殊门电路

    集电极开路(OC)门:主要作用实现线与功能:用做驱动器:实现电平转换 三态输出(TS)门:应用于计算机总线结构,通过分时控制三态门始轮端使得cpu与不同的外设通信:应用于双向传输,实现门电路与总线实现 ...

  6. caffe操作技巧

    查看网络结构: (1)利用caffe自带的Python,可以将*.prototxt保存为一张图片, sudo  python python/draw_net.py  *.prototxt  *.png ...

  7. 基于session做的权限控制

    一直听说做权限将登陆信息放在session中,实际也说不太出个所以然来,幸运在工作当中接触到了对应的代码的copy. 实现思路: 类似于粗粒度的权限控制 将权限控制的文件按包分隔好,对应的url前缀也 ...

  8. ACID/CAP/BASE 理论知识

    ACID是事务的四大特性,想要成为事务,必须具备这四点. Atomicity 原子性体现在对于一个事务来讲,要么一起执行成功要么一起失败,执行的过程中是不能被打断或者执行其他操作的. Consiste ...

  9. 使用Maven+ssm框架搭建一个web项目

    1,前期准备:Eclipse(Mars.2 Release (4.5.2)).jdk1.7.tomcat7.maven3.2.1 2.使用eclipse中的maven新建一个web项目 点击next: ...

  10. 正则表达式的lastIndex属性

    js中正则表达式的使用方式有两种,一种是正则表达式对象的方法,一种是字符串对象的方法,前者有exec(str).test(str)两个方法,后者有match(regexp).replace(regex ...