高弗雷勋爵

题目链接:https://code.mi.com/problem/list/view?id=113

这个解法比较暴力,主要需要注意的是一颗子弹 弹死两个及以上的情况。

#include <iostream>
#include <string>
#include <stdio.h>
#include <algorithm>
#include <vector>

using namespace std;
];

void infect(int i, int n) {
    bool flag = false;
    for (int j = i; j < n; j++) {
        //一枪弹死两个的情况
        )continue;
        a[j] -= ;
        )flag = true;
    }
    if (flag)
        infect(i + , n);
}

int main() {
    , res = , t;
    while (~scanf("%d", &t)) a[n++] = t;
    sort(a, a + n);
    ; i < n; i++) {
        ) {
            ) {
                a[i]++;
            }
            res += a[i] / ;
            ; j < n; j++) {
                a[j] -= a[i];
            }
        }
        infect(i + , n);
        ] <= )
            i++;
    }
    cout << res << endl;
    ;
}

这个比较抽象,不进行减操作,中间用base递增记录下来。(写完才想起来,base开成long long好一点,不过也没爆)

#include <iostream>
#include <string>
#include <stdio.h>
#include <algorithm>
#include <vector>

using namespace std;
];
;

int main() {
    , res = , t;
    while (~scanf("%d", &t)) {
        )break;
        a[n++] = t;
    }
    sort(a, a + n);
    ; i < n; i++) {
        //一枪蹦死两个以上的情况
        ) <= ) continue;
        //只在弹射 弹死的第一个人时,base+=2
        ) { ; continue; }
        ) {
            a[i]++;
        }
        res += (a[i] - ;
        ;
    }
    cout << res << endl;
    ;
}

提交详情

编程语言 C++11 - G++ 6.4.0 结果  通过
最大执行时间 2.81 ms 最大内存开销 4136 KiB
判题信息

运行时间打败了 94.3% 的 C++ 玩家!

随手练——小米OJ 高弗雷勋爵的更多相关文章

  1. 随手练——洛谷-P1151(枚举与暴力搜索)

    枚举 #include <iostream> using namespace std; int main() { ; cin >> k; ; i < ; i++) { ) ...

  2. [小米OJ] 10. 爬楼梯

    dp 另: 小米oj上的测试样例是错的 ; ) function solution(line) { if (line == 0) return 0; if (line == 1) return 1; ...

  3. SUBSTRING / CHARINDEX_函数随手练_2

    SUBSTRING / CHARINDEX_函数随手练_2环境:MSSQL 2014(AdventureWorks2008R2附加到2014中的表 Location) /* Learning SQL ...

  4. case when then 随手练_1

    CASE WHEN THEN随手练,就当做练习指法吧 --drop table tbStudent GO Create table tbStudent( studentId int identity( ...

  5. 随手练——ZOJ 1093 Monkey and Banana(动态规划)

    题目链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=93 一堆科学家研究猩猩的智商,给他M种长方体,每种N个. 然后,将一个 ...

  6. 随手练——博弈论入门 leetcode - 486. Predict the Winner

    题目链接:https://leetcode.com/problems/predict-the-winner/ 1.暴力递归 当前数组左边界:i,右边界:j: 对于先发者来说,他能取到的最大值是:max ...

  7. 随手练——HDU 1237 表达式求值(输入格式典型)

    坑了老子半天,结果是 float 范围不够!!! 基本思想: 开一个符号栈,一个数字栈: 碰到数字就入栈,碰到符号就与栈顶符号进行对比,如果当前符号优先级小于栈顶符号,数字栈弹出两个数进行栈顶符号运算 ...

  8. 小米OJ刷题日志

    虽然这OJ上的题比较水,但还是挺有意思的.关键是能赚钱 特别是提交方式 居然不支持C++,垃圾OJ 4. 最长连续数列 排序后dp 5. 找出旋转有序数列的中间值 写个排序就做完了. 6. 交叉队列 ...

  9. 小米oj 不要乱改代码(并查集)

     不要乱改代码 序号:#91难度:非常难时间限制:2000ms内存限制:50M 描述 最近小米公司内爆发了一种名叫"瞎改我代码就会死"的传染病. 传播方式是只要与染病者共同编辑过一 ...

随机推荐

  1. Mybatis中的缓存

    Mybatis提供缓存查询功能,用于减轻数据库压力,提升数据查询能力. Mybatis中定义了两级缓存:包括一级缓存与二级缓存.示意图如下所示: 一.一级缓存 一级缓存的特点: 每一个SqlSessi ...

  2. C++ 中std::function 、std::bind的使用和lambda的使用

    std::function是可调用对象的包装器:std::bind是将可点用对象和其参数一起进行绑定,且绑定后的结果可以使用std::function对象进行保存,并延迟调用到需要调用的时候: 在C+ ...

  3. Codeforces833A

    A. The Meaningless Game time limit per test:1 second memory limit per test:256 megabytes input:stand ...

  4. linux mysql 卸载与安装及配置命令

    1.RPM包安装方式的MySQL卸载 1) 检查是否安装了MySQL组件. # rpm -qa | grep -i mysql 2)卸载前关闭MySQL服务 # service mysql statu ...

  5. 微信小程序获取当前地址以及选择地址详解 地点标记

    首先定义事件: bindtap='getLocation' <view class='store-bot' bindtap='getLocation'> <view class='c ...

  6. jquery插件-fullpage.js

    1⃣️ 简介 fullPage.js 是一个基于 jQuery 的插件,它能够很方便.很轻松的制作出全屏网站,主要功能有: 支持鼠标滚动 支持前进后退和键盘控制 多个回调函数 支持手机.平板触摸事件 ...

  7. React之小知识点总结

    总结react中常常被忽略的小知识点 1)即使state里设置成和之前的值一样,render也会重新渲染 2)父组件传给子组件的属性(props是只读的,在子组件中已在this.state里将属性赋值 ...

  8. 使用JNDI+连接池

    配置context.xml,在META-INF下新建context.xml,内容如下 <?xml version="1.0" encoding="UTF-8&quo ...

  9. MySql 简单统计查询消耗时间脚本

    MySql 简单统计查询消耗时间脚本 by:授客 QQ:1033553122 drop procedure if exists selectTime; delimiter; create proced ...

  10. jquery-jtemplates.js模板应用

    jquery-jtemplates.js下载地址:https://gitee.com/nelsonlei/jquery-jtemplates.jsMoBanYingYong <!DOCTYPE ...