您的当前位置:首页NOIP复赛模拟试题2

NOIP复赛模拟试题2

2021-10-13 来源:爱问旅游网
2013开明中学NOIP模拟试题2

题目

1、NBA总冠军(nba.pas/c/cpp) 【问题描述】

又要考试了,Ljw决定放松一下,就打开电视,看见了篮球赛,他立即想到了每年的NBA总冠军队伍。由于复习紧张,他只记起了一部分,记忆的内容是正确的,可能不是按时间顺序排列的,记忆的内容可能有重复。

现在请求学过编程的你帮助Ljw,按时间依次输出总冠军的球队(不能重复)。 (NBA 从1947A.D到2009A.D) 【输入】

输入文件nba.in的第一行是一个整数n(0接下来的n行,每行先是城市名(由大到小写字母、空格组成),后是时间(由数字组成)二者之间用空格隔开。 【输出】

输出文件nba.out共n行,即排序后的NBA总冠军队伍。每行先是时间,后是城市名。 【输入输出样例】

nba.in 3 Boston 1963 Boston 1959 Philly 1947 Nba.out 1947 Philly 1959 Boston 1963 Boston 2.买票(tickets.pas/c/cpp) 【问题描述】

周末Ztc想去剧场看演出,但他没有票。这时,救世主Wzj出现了,他慷慨地愿意卖给Ztc一些票。

Wzj手上共有n张票,但每张票的费用都不一样,贪心的ztc想要得到尽可能多的票,但又想花费最少,慷慨的wzj原意给连续的m张票。 Ztc 希望你能帮助他在花钱范围内取得最大的票数。 【输入】

输入文件tickets.in的第一行是2个整数n,,f。其中(2≤N≤1000000),表示票的数目,(10≤f≤10000),表示ztc身上的钱。

接下来的1行,有n个整数a(1≤a≤30),表示每一张票的票价。 【输出】

输出文件tickets.out仅一行整数m,表示Ztc能得连续的最大票数。 【输入输出样例】

tickets.in tickets.out 5 10 3 2 3 1 6 7

【限制】

50%的数据满足:2≤n≤10000 100%的数据满足:2≤n≤1000000 3.逛街(shop.pas/c/cpp)

【问题描述】

某天,ZCL在街上闲逛。他在超市里看到促销广告:商品大降价。于是他很高兴地拿着篮子购物去了。

已知商场内有n种商品。每种商品的重量为w千克,价格为v,价值为t。此种商品有h件。 注意:此商场有一个奇怪的规定。每种物品要么不买,要么买1件或h件。ZCL带了y元。ZCL最多能扛x千克的物品。请帮ZCL求出他最多能获得的价值。(不允许抢劫) 【输入】

输入文件shop.in的第一行有3个用空格隔开的整数n、x和y。 接下来的n行,每行有4个数据,分别为w,v,t和h. 【输出】

输出文件shop.out共一行,表示ZCL最多能获得的价值。 【输入输出样例】

Shop.in 2 8 10 5 3 7 1 3 7 10 1

【限制】

100%的数据满足:0≤n≤300,0≤x≤100,0≤y≤100,0≤h≤10 4.整理书本(book.pas/c/cpp) 【问题描述】

Ztc想把他满屋子的书整理一下。为了应付繁重的学习任务,ztc已经筋疲力尽了,于是他向你求助,请你帮他计算他最少需要花费多少力气。

书本分成若干堆,呈直线排布。每一堆的书本都有重量w和价值v。Ztc的任务是将所有书合成一堆。因为Ztc很看重书本的价值,所以他认为合并I,j两堆的书所需要的力气为w[i]-v[i]+w[j]-v[j].合并后的书堆的重量和价值均为合并前两堆书的重量和价值的总和。也就是说,合并i,j两堆的书后,w=w[i]+w[j],v+[i]+v[j].小智个人不愿意走来走去,所以合并只能在相邻两堆书本间进行。书本合并前后,位置不变。如将1,2,3中的1,2进行合并,那么合并结果为3,3,再将3,3合并为6(1,2,3,6指重量)。 【输入】

输入文件book.in的第一行是一个整数n(2≤n≤400)。 第2~n+1行每行两个整数w和v(0输出文件book.out共一行,这一行,这一行只有一个整数f,表示最小力气。 【输入输出样例】 Book.in 3 6 5 9 7 11 2 Book.out 15 Shop.out 17 【输入输出样例解释】

先将前两堆合并,再将合并后的书堆与剩余的一堆合并。 【限制】

30%的数据满足:2≤n≤100 100%的数据满足:2≤n≤400

因篇幅问题不能全部显示,请点此查看更多更全内容