题目
1、NBA总冠军(nba.pas/c/cpp) 【问题描述】
又要考试了,Ljw决定放松一下,就打开电视,看见了篮球赛,他立即想到了每年的NBA总冠军队伍。由于复习紧张,他只记起了一部分,记忆的内容是正确的,可能不是按时间顺序排列的,记忆的内容可能有重复。
现在请求学过编程的你帮助Ljw,按时间依次输出总冠军的球队(不能重复)。 (NBA 从1947A.D到2009A.D) 【输入】
输入文件nba.in的第一行是一个整数n(0 输出文件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 先将前两堆合并,再将合并后的书堆与剩余的一堆合并。 【限制】 30%的数据满足:2≤n≤100 100%的数据满足:2≤n≤400 因篇幅问题不能全部显示,请点此查看更多更全内容