查看: 38|回复: 0

HNOI2017模拟试

[复制链接]
发表于 2021-1-22 17:36:41 | 显示全部楼层 |阅读模式
公路建设(road.pas)(1s 64m) a国是一个新兴的国家,有n个城市,分别编号为1,2.3…n。政府想大搞公路建设,提供了优惠政策:对于每一个投资方案的预计总费用,政府负担50%,并且允许投资的公司对过往的汽车收取连续5年的养路费。世界各地的大公司纷纷投资,并提出了自己的建设方案,他们的投资方案包括这些内容:公路连接的两座城市的编号,预计的总费用(假设他们的预计总是准确的)。
你作为a国公路规划局的总工程师,有权利决定每一个方案是否接受。但是政府给你的要求是:
(1)要保证各个城市之间都有公路直接或间接相连。
(2)因为是新兴国家,政府的经济实力还不强。政府希望负担最少的费用。
因为大公司并不是同时提出方案,政府希望每接到一个方案,就可以知道当前需要负担的最小费用和接受的投资方案,以便随时开工。关于你给投资公司的回复可以等到开工以后再给。注意:a国一开始是没有公路的。我们设定a国的城市数目n≤500,投资的方案总数m≤xx。
【输入】
输入文件名:road.in
第1行有两个数字:n、m
第2行到第m+1行给出了各个投资方案,第i行的方案编号为i-1
编号小的方案先接到,一个方案占一行,每行有3个数字,分别是连接的两个城市编号a、b,和投资的预计总费用cost。
【输出】
输出文件名:road.out
输出文件共有m行。
每一行的第一个数字是当前政府需要负担的最少费用(保留1位小数),后面是x个数字,表示当前政府接受的方案的编号,不要求从小到大排列。但如果此时接受的所有投资方案不能保证政府的第一条要求,那么这一行只有一个数字0
【样例】
road.in road.out
3 5
1 2 4
1 3 4
2 3 4
1 3 2
1 2 2 0
4.00 1 2
4.00 1 2
3.00 1 4
2.00 4 5
游戏(game.pas 1s 64m)
noixx公司最近推出了一款新的坦克游戏。在游戏中,你将操纵一辆坦克,在一个n×m的区域中完成一项任务。在此的区域中,将会有许多可攻击的目标,而你每摧毁这样的一个目标,就将获得与目标价值相等的分数。只有获得了最高的分数,任务才算完成。同时,为了增加游戏的真实性和难度,该游戏还做了以下的限制:
第一, 坦克有射程r的限制。为方便计算,射程r规定为:若坦克位于(x,y)格,则它可攻击的目标(x1,y1)必须满足|x-x1|,|y-y1|∈[0,r]。
第二, 对坦克完成任务的时间有严格限制,规定为t秒。其中,坦克每进行一次移动都需1秒的时间,每攻击一个目标也需1秒的时间。时间一到t秒,便对此次任务进行记分。
第三, 坦克最初位于左上角,且移动方向只准是向右或向下,每次只允许移动一格。
在以上的限制条件下,要完成该任务便成为了一件很难事情。因此,你必须为此编写一个程序,让它助你完成这个艰巨的任务。
【输入】输入文件:input.txt
第一行右四格整数n、m、r、t,分别表示区域的长、宽,以及射程和完成任务时间。
接下来n行是一格n×m的矩阵,对应每个位置上目标的价值。1≤n、m≤500,1≤r≤100,1≤t≤2500。
【输出】输出文件:output.txt
输出文件仅一个数max,即该任务中可得到的最高分数。
【样例】
输入文件input.txt为:
5 5 2 7
0 5 0 0 4
0 0 0 0 2
0 0 0 0 0
0 0 0 0 0
5 0 3 0 11
输出文件output.txt为:共2页,当前第1页12
  • HNOI2017模拟试
    21
    杀鼠行动(kill.pas)(1s 64m)
    在人人都希望环境优美的今天,老鼠是大家都十分讨厌的一种动物,但是其繁殖速度之快是卫生部门所最为头疼的。而今,ohow集团的茁壮成长,使其销售对象遍布所有领域。如今,ohow集团首席ol,外号星爷研制出一种灭鼠工具,“杀得快”,其原理很简单,把老鼠首先赶到一段封闭的下水道管里面,然后用铁制器具伸入一段,对老鼠进行封杀,而“杀得快”是有各种尺寸的,而下水道管也是各有尺寸的,不过“杀得快”都是圆柱形的,而下水道管则是扇形的,现在我们给定每种“杀得快”的半径,以及下水道管的半径,和圆心角,请问是否能够杀灭所有的老鼠。杀灭所有老鼠的前提是“杀得快”能够放入下水道管。
    【输入】
    输入文件名为kill.in。第一行,是一个正整数m(1≤m≤100)。以下有m组数据。每组数据的第一行是一个正整数n(1≤n≤1000),表示有n种型号的“杀得快”和n种型号的下水道管。以下n行,每行两个实数,分别表示下水道管的半径和圆心角,角度用度数表示。(0≤圆心角≤180)再以下n行,每行一个实数,表示“杀得快”的半径。
    【输出】输出文件名为kill.out。对于每组数据,如果能够全部消灭老鼠,则输出"yes!",反之输出"no!"。
    【样例】
    输入:
    2
    1
    1 180
    0.5
    2
    0.5 46
    2 180
    100
    1
    输出:
    yes!
    no!
    共2页,当前第2页12
  • HNOI2017模拟试
  • 回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立刻注册

    本版积分规则

    QQ| Archiver|手机版|小黑屋| 师哈哈 |网站地图

    Copyright © 2019-2025 Www.biiyy.Com.   All Rights Reserved.

    Powered by Discuz! X3.4( 苏ICP备14049462号-3 )