- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
国信蓝点杯决赛训练试题1
国信蓝点杯决赛训练试题1
给定整数集合S和两个整数m,n,是否存在S的一个子集H,使得m是取自H中至多n个整数的和(可以重复取)。
从输入文件读入若干组测试数据。每一组测试数据的第一行是三个整数m,n,k,(0≤m≤10000,0≤n≤20,0≤k≤20)。接着的一行上有k个整数b1,b2,…,bk,表示S由这k个整数组成。
输入直到文件结束。
对第i组测试数据,你应先在一行上输出文字“Case #:”,其中“#”是测试数据编号i(从1开始编),再在下一行上输出你能否实现将m表示成S中至多n个数字的和的文字描述:“可能”,并将所有的组合形式输出出来。否则输出“不可能”
输入样例 输出样例
10 3 3 Case 1:
4 1 2 可能
10=4+4+2
27 5 3 Case 2:
2 3 13 不可能
2 碎纸机游戏设计:
你现在负责设计一种碎纸机,使其具有以下特点:
① 每次切割之前,先要给定碎纸机一个目标数,而且在每张被送入碎纸机的纸片上也需要包含一个数;
② 碎纸机切出的每个纸片上都包括一个数;
③ 要求切出的每个纸片上的数的和要不大于目标数而且与目标数最接近。 例如,假设目标数是50,输入纸片上的数是12346。碎纸机会把纸片切成4块,分别包含1,2,34和6。这样,这些数的和是43=1+2+34+6,这是所有的分割方式中,不超过50而又最接近50的分割方式。又比如,分割成1,23,4和6是不正确的,因为这样的总和是34=1+23+4+6,比刚才得到的结果43小。分割成12,34和6也是不正确的,因为这时的总和是52=12+34+6,超过了50。
还有以下3个特别的规则:
① 如果目标数和输入纸片上的数相同,那么纸片不进行切割;
② 如果不论怎样切割,分割得到的纸片上数的和都大于目标数,则显示错误信息;
③ 如果有多种不同的切割方式可以得到相同的最优结果,则应显示出最优结果的全部获得方式。
为了设计这样的一个碎纸机,要求你编写一个简单的模拟程序来模拟以上碎纸过程。给定两个数,第一个是目标数,第二个是输入纸片上的数,你需要给出碎纸机对纸片的分割方式。
原创力文档


文档评论(0)