题目名称 | 最大高度差 | HYF看WCG | 选装备 | 召唤露子 |
源文件名称 | nec.(pas/c/cpp) | sk.(pas/c/cpp) | viper.(pas/c/cpp) | misora.(pas/c/cpp) |
输入文件名 | nec.in | sk.in | viper.in | misora.in |
输出文件名 | nec.out | sk.out | viper.out | misora.out |
时间限制 | 1s | 1s | 1s | 1s |
内存限制 | 256MB | 256MB | 256MB | 256MB |
测试点 | 10个 | 10个 | 10个 | 10个 |
分值 | 100 | 100 | 100 | 100 |
备注:此套题意在为大家找信心。理论上C++不允许使用STL。
- 最大高度差
nec.(cpp/pas/c)
【问题描述】
我们把一块山地划分为N x N的小块。你已经知道了每一块地的海拔高度。你需要回答若干个询问。一次询问指定了一块S x S的正方形区域(S是一个已经给定的值),你需要回答出在这个区域里最小海拔高度和最大海拔高度相差多少。
【输入数据】
第一行输入三个用空格隔开的正整数n,s,k,表示山地的大小、一次询问的大小和询问的次数。输入数据保证s<=n。
以下n行为一个N x N的矩阵,该矩阵描述了这个山地的高度情况。这些数字保证是不超过maxint的正整数。
接下来k行每行两个数x,y,询问以第x行第y列的格子作为左上角的S x S的方格中最大的高度差。输入数据保证输入的x,y有意义。
【输出数据】
对于每一个询问,输出询问的区域中高度差的最大值。
【样例输入】
5 3 1
5 1 2 6 3
1 3 5 2 7
7 2 4 6 1
9 9 8 6 5
0 6 9 3 9
1 2
【样例输出】
5
【数据规模】
对于30%的数据,n<=10,k<=10;
对于50%的数据,n<=30,k<=100;
对于100%的数据,n<=100,k<=1000。
2、HYF看WCG
sk.(cpp/pas/c)
【问题描述】
众所周知,WCG2009会在11月11日-11月15日期间在成都举行。HYF神牛当然不会错过如此好事,于是他3天不吃饭省下了150RMB买了一张套票(即每天都可以去)。
我们假设WCG2009总共有n天比赛,每天比赛一种游戏,一共有m种游戏。不过HYF神牛还有题要刷,所以他想抽一段最短的连续的天数去将m种游戏全数看完。因为他在刷别的题,所以把这个简单的任务交给你,让你帮他完成。
【输入数据】
第一行有两个数n,m,意思在题意中已描述。
第二行有n个数,第i个数表示第i天比赛哪种比赛(编号1-m)。
输入数据保证有解。
【输出数据】
一个数,表示HYF神牛最少要花连续的多少天。
【样例输入】
12 5
2 5 3 1 3 2 4 1 1 5 4 3
【样例输出】
6
【数据规模】
对于30%的数据,n<=1000,m<=20。
对于100%的数据,n<=1000000,m<=2000。
3、选装备
viper.(cpp/pas/c)
【问题描述】
TIM神牛的VIPER已经超神,因此他已经不关心游戏的进行了。目前他手上已经积累了很多金币,于是他回到生命之泉找卖武器的大叔买武器以尽量提高自己的攻击力。大叔说:“我这里给你每个身体部位都有两种装备,当然价格不同提升的攻击力也不同,你自己选吧。”可是TIM神牛已经杀红了眼,无法思考问题了,于是他找到了你威胁你说:“你要是不能把我的攻击力提到最高我就一口喷死你!”可怜你的也只有着手解决这个问题了。
【输入数据】
第一行有三个数M,N,T,分别表示TIM神牛手中的金币、TIM神牛身上的身体部位数量以及TIM神牛的初始攻击力。
接下来的一共N行,第i行有4个数V1[i],W1[i],V2[i],W2[i],分别表示第i个身体部位可装备的第一种和第二种装备的提升的攻击力以及价格。注意,每个部位最多只能装备一种武器。
【输出数据】
一个数,表示TIM神牛可以达到的最大攻击力。
【样例输入】
50 3 20
12 18 23 19
17 10 30 24
20 20 17 20
【样例输出】
80
【数据规模】
对于100%的数据,1<=M,T,V,W<=10000,N<=200。
4、召唤露子
misora.(cpp/pas/c)
【问题描述】
这天,RUA牛在仓库里突然找到了一张地图,他发现这张地图居然记载了召唤露子的方法!欣喜若狂的他来到了地图记载的地方——学校的操场。地图上将操场划分为了5*5的方格,周围环绕着跑道。当然了,为了心爱的路子,RUA牛是不会再召唤期间冲出跑道的。为了方便,地图表明左下角为(1,1),右上角为(5,5),边缘格子与跑道相邻。召唤仪式开始时,即第一秒初,RUA牛随便找了格子踩了进去。每当秒针跳一下,RUA牛因为爱的力量可以瞬间完成以下的任务:
- 什么也不干。
- 从某个格子移动到相邻的格子。
- 从最外层某个格子移动到跑道上。
- 从跑道上移动到任意一个最外层的格子。
但是,为了能够让露子发现,RUA牛在任意连续3s内只能呆在跑道上1s。
地图的下面还标记着露子力量的出现时刻,即在某段时间内某个格子里会出现1个饱藏露子力量的石头,这个时候RUA牛每秒可以从之吸收1点露子的力量。RUA牛需要尽可能地搜集露子的力量才可能使露子的召唤仪式成功率达到最大。被爱冲昏头脑的RUA牛已经无法思考,请你帮助他召唤露子!
【输入数据】
第一行包含两个数N,M,分别表示露子力量出现的次数以及召唤仪式持续的时间。
以下N行每行包括四个数,A,B,C,D,(1<=A,B<=5,1<=C<=D<=M),表示在第C秒初到第D秒末,格子(A,B)会出现1个露子力量之石,若此时RUA牛在这里便可吸收到1点露子的力量。
【输出数据】
一个数,表示最大可能获得的露子力量的点数。
【样例输入】
2 10
1 1 1 5
4 4 8 8
【样例输出】
6
【数据规模】
对于30%的数据,M<=10。
对于100%的数据,M<=3000,N<=1000,每个露子力量之石持续出现的时间不超过10。