URAL - 1917 Titan Ruins: Deadly Accuracy(水题)
来源:互联网 发布:土木工程预算软件 编辑:程序博客网 时间:2024/05/16 08:03
水题一个,代码挫了一下:
题意不好理解。
你去一个洞窟内探险,洞窟内有许多宝石,但都有魔法守护,你需要用魔法将它们打下来。
每个宝石都有自己的防御等级,当你的魔法超过它的防御等级时它就会被你打下来。
但是,当它被你打下来的时候,它会反弹你的魔法。如果反弹的魔法过强,你就会被自己的魔法杀死。
很不幸的是,你的魔法是群体性的,你不能选择攻击谁,只要防御等级低于你魔法水平的宝石都会被你打下来。并且每个都会反弹你的魔法。
你可以假设你的魔法水平无限大,但你躲避反弹的魔法的能力却并不是很强。
输入:
第一行两个数,分别是:N,宝石总数。P:你躲避反弹魔法的能力。(只要达到这个数你就会死)
第二行N个数,每个宝石的防御等级。
输出:
一行,两个数,分别是你能打下多少宝石,以及需要释放几次魔法。
样例输入:
5 4
4 1 4 1 2
样例输出:
3 2
样例说明:
第一次用强度为1的魔法打下两个防御等级为1的宝石,反弹魔法为2,可以承受。
第二次用强度为2的魔法打下一个防御等级为2的宝石,反弹魔法为2,可以承受。
剩余2个防御等级为4的宝石,是无法打下来的。(反弹魔法会达到8)
所以答案为3 2.
测试:5 3
1 2 2 3 4
==> 1 1
代码如下:
#include <cstdio>#include <cstring>#include <cmath>#include <cstdlib>#include <queue>#include <stack>#include <map>#include <vector>#include <algorithm>#define M 1005using namespace std;int a[M], num[M], cnt[M];int n, k, x, pre;int main (){ scanf("%d%d",&n, &k); pre = -1; int cur = 0; for(int i = 1; i <= n; ++i) scanf("%d",&a[i]); sort(a+1,a+1+n); for(int i = 1; i <= n; ++i) { if(a[i]!=pre) { num[++cur] = a[i]; cnt[cur] = 1; } else cnt[cur] += 1; pre = a[i]; } int last = 0, ans = 1, ansn = 0; for(int i = 1; i <= cur; ++i) { if(k>=num[i]*cnt[i]) { ansn += cnt[i]; last += cnt[i]; if(k < num[i]*last) { ans += 1; last = cnt[i]; } } else break;//代码小挫的地方 } if(ansn==0) ans = 0; printf("%d %d\n", ansn, ans); return 0;}
- URAL - 1917 Titan Ruins: Deadly Accuracy(水题)
- URAL:1917 Titan Ruins: Deadly Accuracy
- ural 1917. Titan Ruins: Deadly Accuracy(Titan Ruins系列)
- Ural 1917 Titan Ruins: Better late than killed
- ural 1915. Titan Ruins: Reconstruction of Bygones
- Ural 1910. Titan Ruins: Hidden Entrance
- Ural 1910. Titan Ruins: Hidden Entrance
- URAL 1910. Titan Ruins: Hidden Entrance
- URAL 1910 Titan Ruins: Hidden Entrance
- URAL 1910. Titan Ruins: Hidden Entrance
- ural 1910. Titan Ruins: Hidden Entrance(Titan Ruins系列题目)
- URAL 1910 Titan Ruins: Hidden Entrance 题解与翻译
- URAL 1915 Titan Ruins: Reconstruction of Bygones(思路)
- URAL - 1920 Titan Ruins: the Infinite Power of Magic(乱搞)
- URAL 1915 Titan Ruins: Reconstruction of Bygones (栈)
- URAL 1920 Titan Ruins: the Infinite Power of Magic
- ural 1915 Titan Ruins: Repeating Success and Failure
- URAL 1920 Titan Ruins: the Infinite Power of Magic
- 升级到 Rails 4,你的应用需要准备什么?
- 基于tiny6410开发板的LED驱动 编写与使用(第一个linux驱动)
- worldwind学习笔记-3-WorldWindowGLDrawable
- 网络流 ~~飞行员配对方案问题
- DHTMLX grid 一个简单的实例
- URAL - 1917 Titan Ruins: Deadly Accuracy(水题)
- VC菜单编程知识
- jsp 获得post数据 结合mysql例子
- 视频YUV数据介绍
- 在linux下重启oracle及监听器:
- Hibernate插入数据时取字段的默认值,更新时只更新修改过的属性值
- C#下载文件
- git
- 浅析SQL语句行列转换的两种方法 case...when与pivot函数的应用