ACM第三次比赛题目及标准程序(贪心)
来源:互联网 发布:ae 2017 cc mac破解版 编辑:程序博客网 时间:2024/05/16 12:00
欢迎访问XYNU
问题A: 灯光控制
时间限制: 1 Sec 内存限制: 128 MB题目描述
灯光师小明控制着各种晚会的各种大小灯,每次晚会小明都会对灯进行很多次操作。对每盏灯只能进行两种操作,开和关。现在小明希望自己随时都知道还有多少盏灯亮着。你需要编写一个程序当小明问你时你能快速的说出还有多少盏灯亮着。 注意晚会开始时所有的灯都是灭的。
输入
只有一组数据.第一行输入两个正整数N,T(0<N<=100000,0<T<=1000000)N表示有N盏灯,T表示有T条指令。随后T行每行有一条指令,这条指令包含一个字符串,当字符串为CHANGE,它后面还有一个整数m,表示对第m盏灯进行一次操作(操作表示如果第m盏灯灯是开着时就关闭,如果灯是关着时就打开)。当字符串为QUERY,表示小明想查询现在还有多少盏灯亮着。
输出
每次查询指令输出占一行,输出当前亮着灯的个数
样例输入
10 8
CHANGE 1
QUERY
CHANGE 2
QUERY
CHANGE 1
CHANGE 9
CHANGE 7
QUERY
样例输出
1
2
3
提示
显然灯的序号是从1开始的。
问题B: 彩灯统计
时间限制: 1 Sec 内存限制: 128 MB题目描述
输入
第一行输入彩灯的数量N(1<= N <= 1000),接下来的N行输入N个字符串表示彩灯的颜色(字符串的长度不超过10,字符串全为小写字母,并且只有一组测试数据)。保证彩灯颜色不超过1000种。
输出
输出这些彩灯中最多的颜色的名字与数量,并用空格隔开(数据保证最多的颜色只有一个)。
样例输入
12
red
green
blue
white
red
green
blue
white
red
green
blue
red
样例输出
red 4
问题C: 背包问题
时间限制: 3 Sec 内存限制: 128 MB题目描述
现在有很多物品(它们是可以分割的),我们知道它们每个物品的总价值v和重量w(1<=v,w<=100;如果给你一个背包它能容纳的重量为m(10<=m<=100),你所要做的就是把物品装到背包里,使背包里的物品的价值总和最大。
输入
随后有n组测试数据,每组测试数据的第一行有两个正整数s,m(1<=s<=10);s表示有s个物品。接下来的s行每行有两个正整数v,w。
输出
输出每组测试数据中背包内的物品的价值和,每次输出占一行。
样例输入
1
3 15
50 10
16 82
7 9
样例输出
65
问题D:买饼干
时间限制: 1 Sec 内存限制: 128 MB题目描述
小明同学决定去鼎盛超市买点零食囤着慢慢吃。现在假设小明带着一定数量的现金要去超市采购饼干(散装)。如果超市有m种饼干,各种饼干的单价和重量已知,请问,为了满足更多饼干的需求(因为各种饼干味道差不多,当然是买的越多越好啊),最多能购买多少重量的饼干呢?
输入
输出
对于每组测试数据,请输出能够购买饼干的最多重量.(你可以假设现金买不光超市所有的饼干)。
每个实例的输出占一行,保留2位小数。
样例输入
1
7 2
3 3
4 4
样例输出
2.33
问题E:魔法扫帚
时间限制: 1 Sec 内存限制: 128 MB题目描述
输入
在一个测试用例中,第一行包含一个正号N表示魔法师的数量(0≤N≤3000)
下面N行:每行只有一个非负整数,表示每个士兵的等级数。等级范围为0~30;
输出
对于每一个测试样例,输出需要扫帚数量的最小值。
样例输入
4
10
20
30
4
5
2
3
4
3
4
样例输出
1
2
问题F:火柴字
时间限制: 1 Sec 内存限制: 128 MB题目描述
小明得到了一盒火柴,他可以用这些火柴拼成各种数字。假设现有V根火柴,根据拼法的不同,拼成数字i 需要ai根火柴。
请你帮助他拼成最大的数字。
输入
每一种情况下,第一行都包含一个非负整数V(0 ≤V ≤106)。
第二行包含九个正整数a1,a2,……,a9(1≤ai≤105)。
输出
样例输入
55 4 3 2 1 2 3 4 529 11 1 12 5 8 9 10 6
样例输出
5555533
问题G: 火力覆盖
时间限制: 1 Sec 内存限制: 128 MB题目描述
输入
每一组测试数据的第一行有三个整数n,w,h,n表示共有n个目标打击点,w表示目标区域的横向长度,h表示目标区域的纵向长度。
随后的n行,都有两个整数xi和ri,xi表示第i个目标打击点的的横坐标(最左边为0),ri表示该目标打击点能火力覆盖的圆的半径
输出
如果不存在一种能够把整个目标区域火力覆盖的方案,请输出0。
样例输入
22 8 61 14 52 10 64 56 5
样例输出
12
问题H: 搬木头的熊二
时间限制: 1 Sec 内存限制: 128 MB题目描述
东北原始森林经历了风暴袭击,光头强的房子被摧毁了。正好森林有被风暴摧毁而散落的木头,熊大和熊二决定帮可怜的光头强修一座新房子。熊大负责把散落的木头收集成堆,熊二负责搬木头。熊二决定把所有的木头合成一堆。 因为熊二比较懒,为了省力气,熊二开始想点子了:
每一次合并,熊二可以把两堆木头合并到一起,消耗的体力等于两堆木头的重量之和。可以看出,所有的木头经过n-1次合并之后,就只剩下一堆了。熊二在合并木头时总共消耗的体力等于每次合并所耗体力之和。
因为还要花大力气把这些木头搬走,所以熊二在合并木头时要尽可能地节省体力。假定每根木头重量都为1,并且已知木头的堆数和每堆木头的数目,你的任务是设计出合并的次序方案,使熊二耗费的体力最少,并输出这个最小的体力耗费值。
例如有3堆木头,数目依次为1,2,9。可以先将1、2堆合并,新堆数目为3,耗费体力为3。接着,将新堆与原先的第三堆合并,又得到新的堆,数目为12,耗费体力为12。所以熊二总共耗费体力=3+12=15。可以证明15为最小的体力耗费值。
输入
第一行输入整数N(0<N<=10)表示测试数据组数。接下来每组测试数据输入包括两行,第一行是一个整数n(1<=n<=12000),表示木头的堆数。第二行包含n个整数,用空格分隔,第i个整数ai(1<=ai<=20000)是第i堆木头的数目。
输出
每组测试数据输出包括一行,这一行只包含一个整数,也就是最小的体力耗费值。
样例输入
1
3
1 2 9
样例输出
15
- ACM第三次比赛题目及标准程序(贪心)
- ACM第四次比赛题目及标准程序(STL模板类)
- ACM第五次比赛题目及标准程序(数据结构基础)
- ACM第六次比赛题目及标准程序(动态规划)
- ACM第一次比赛题目及标准程序(基础水题)
- ACM第二次比赛题目及标准程序(基础水题)
- 第三次比赛 感想
- 贪心算法及相关题目(一)
- acm题目及我的程序(1)——ten drops(十滴水游戏)
- acm题目及我的程序(2)——Knight Moves (骑士跳跃)
- acm题目及我的程序(3)——正整数n的加法组合
- 第一次比赛(续)
- 2017第五次ACM培训题目
- Coin Test n 204 郑州大学第四次ACM比赛试题
- ACM-ICPC比赛介绍及相关参考
- “玲珑杯”ACM比赛 Round #22 E【贪心】
- acm之贪心算法题目1
- acm之贪心算法题目2
- IO流学习-03
- 基础线段树·修改版
- 极验验证码破解(二)
- IOS逆向之汇编语言程序入门
- 2.常用控件:ListView
- ACM第三次比赛题目及标准程序(贪心)
- 《剑指offer》牛客网java题解-从尾到头打印链表
- 循环——的斐波那契数列——虽然听懂了,但直接听答案果然效果不好,忘得真快
- Effective C++学习心得一
- JVM那些事儿之执行原理(二)
- 【线段树】备用模板
- HDU 6105 Gameia (博弈)
- 十进制转八进制(递归版)
- 高效算法设计(二分查找,范围统计)