ACM程序设计大赛模拟试题及答案.docx

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

ACM程序设计大赛模拟试题及答案

一、入门题:快递收费计算(模拟)

问题描述

天天快递针对个人寄件推出阶梯收费标准,具体规则如下:

重量计费:首重1kg内(含1kg)基础费10元;超过1kg的部分,每增加1kg(不足1kg按1kg计)加收5元。

距离计费:距离50km内(含50km)无额外费用;超过50km的部分,每10km(不足10km按10km计)加收3元。

总费用=重量费用+距离费用。

现给定包裹重量w(单位:kg,0w≤50)和运输距离d(单位:km,0d≤200),请计算总费用并保留1位小数。

输入格式

一行两个浮点数w和d,用空格分隔。

输出格式

一行一个浮点数,表示总费用,保留1位小数。

样例输入1

1.050.0

样例输出1

10.0

样例输入2

2.365.5

样例输出2

26.0

二、基础题:半完数查找(数学+枚举)

问题描述

定义“半完数”:对于正整数n,若其所有真因子(不包含自身的约数)的和s满足n≤s2n,则n为半完数。

例如:6的真因子为1、2、3,和为6,满足6≤612,故6是半完数;12的真因子和为1+2+3+4+6=16,满足12≤1624,故12是半完数。

给定两个正整数a和b(1≤a≤b≤1000),请输出[a,b]区间内所有半完数,按从小到大顺序排列,每个数占一行。

输入格式

一行两个正整数a和b,用空格分隔。

输出格式

每行一个半完数,按升序排列。若区间内无半完数,无输出。

样例输入

612

样例输出

6

12

三、提高题:二维背包(动态规划)

问题描述

某货车需运输一批物品,每个物品有重量w_i、体积v_i、价值p_i三个属性。货车的最大载重量为W,最大容积为V。要求选择若干物品装入货车,使得总重量不超过W、总体积不超过V,且总价值最大。

请计算最大总价值。

输入格式

第一行三个正整数n(物品数量,1≤n≤100)、W(最大重量,1≤W≤100)、V(最大容积,1≤V≤100);

接下来n行,每行三个正整数w_i、v_i、p_i(1≤w_i≤W,1≤v_i≤V,1≤p_i≤100)。

输出格式

一行一个正整数,表示最大总价值。

样例输入

3108

325

436

547

样例输出

13

答案部分

第一题:快递收费计算(C++代码)

#includeiostream

#includecmath

#includeiomanip

usingnamespacestd;

intmain(){

doublew,d;

cinwd;

doubleweight_cost,dist_cost=0.0;

//计算重量费用:向上取整处理不足1kg的情况

intweight=ceil(w);

if(weight=1){

weight_cost=10.0;

}else{

weight_cost=10.0+(weight-1)*5.0;

}

//计算距离费用:超过50km部分按10km阶梯收费

if(d50){

doubleexcess=d-50;

intstep=ceil(excess/10);//不足10km按10km计

dist_cost=step*3.0;

}

doubletotal=weight_cost+dist_cost;

coutfixedsetprecision(1)totalendl;

return0;

}

第二题:半完数查找(C++代码)

#includeiostream

usingnamespacestd;

//计算n的所有真因子之和

intgetProperDivisorSum(intn){

if(n==1)return0;//1没有真因子

intsum=1;//1是所有n1的真因子

for(inti=2;i*i=n;++i){

if(n%i==0){

sum+=i;

if(i

文档评论(0)

151****9429 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档