- 1、本文档共4页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
贪心上机练习1
贪心上机练习1
1. 删数问题 (delete.Pas)
【问题描述】键盘输入一个高精度的正整数n(≤240位),去掉其中任意s个数字后剩下的数字按原左右次序将组成一个新的正整数。编程对给定的n和s,寻找一种方案,使得剩下的数字组成的新数最小。
Delete.in
[输入格式] n
s
[输出格式] delete.out
最后剩下的最小数。
[样例输入] 178543
4
[样例输出] 13
2. 取数游戏 (qushu.pas)
[问题描述]
给出2*n(n=100)个自然数(数小于等于30000)。游戏双方分别为A方(计算机方)和B方(对奕的人)。只允许从数列两头取数。A先取,然后双方依次轮流取数。取完时,谁取得的数字总和最大为取胜方;双方和相等,属于A胜。试问A方可否有必胜的策略?
[输入格式] qushu.in
n及2*n个自然数。
[输出格式] qushu.out
共3*n+2行,其中前3*n行为游戏经过。每3行分别为A方所取的数和B方所取的数,及B方取数前应给予的适当提示,让游戏者选择取哪一头的数(L/R—左端或右端)。最后2行分别为A方取得的数和和B方取得的数和。
3. 0/1背包问题
[问题描述]
有一容量为weight的背包。现在要从n件物品中选取若干装入背包中,每件物品i的重量为w[i],价值为p[i]。定义一种可行的背包装载为:背包中物品的总重量不能超过背包的容量,并且一个物品要么全部选取,要么不选取。定义最佳装载是指所装入的物品价值最高,并且是可行的背包装载。
[样例输入]
11 {weight}
4 {n}
2 4 6 7 {w[i]}
6 10 12 13 {p[i]}
[样例输出]
0 1 0 1
23
4. 取火柴游戏(match.pas)
有k堆火柴棒,第i堆火柴棒的根数为ni,1=i=n,你和计算机取火柴游戏,取的规则为:每次可以从一堆中取走若干根火柴,也可以一堆都取走,但不许跨堆取,也不许不取。
谁取走最后一根火柴为胜利者。谁没有火柴棒可取,就算输。
例如:k=2,n1=n2=2,A代表你,P代表计算机,若决定A先取:
A:(2,2)→(1,2) {从一堆中取一根}
P:(1,2)→(1,1) {从另一堆中取一根}
A:(1,1)→(1,0)
P:(1,0)→ (0,0) {P胜利}
如果决定A后取:
P:(2,2)→(2,0)
A:(2,0)→ 0,0) {A胜利}
又如k=3,n1=1,n2=2,n3=3,A决定后取:
P:(1,2,3)→(0,2,3)
A:(0,2,3)→(0,2,2)
编写一个程序,在给出初始状态后,判断是先取必胜还是先取必败,如果是先取必胜,请输出第一次该如何取,如果是先取必败,则输出“lose”。
[输入] match.In
第一行一个整数n,表示堆数。
第二行,n个数表示每堆火柴数。
3
3 6 9
【输出】match.Out
3 {表示第一次从第3堆取4个出来,必胜}
3 6 5 {第一次取后的状态}
样例1:
3
3 6 9
样例2:
输入
4
15 22 19 10
输出
Lose
5.均分纸牌(a.pas)[问题描述] 有 N 堆纸牌,编号分别为 1,2,…, N。每堆上有若干张,但纸牌总数必为 N 的倍数。可以在任一堆上取若于张纸牌,然后移动。 移牌规则为:在编号为 1 堆上取的纸牌,只能移到编号为 2 的堆上;在编号为 N 的堆上取的纸牌,只能移到编号为 N-1 的堆上;其他堆上取的纸牌,可以移到相邻左边或右边的堆上。 现在要求找出一种移动方法,用最少的移动次数使每堆上纸牌数都一样多。 例如 N=4,4 堆纸牌数分别为: ① 9 ② 8 ③ 17 ④ 6 移动3次可达到目的: 从 ③ 取 4 张牌放到 ④ (9 8 13 10) - 从 ③ 取 3 张牌放到 ②(9 11 10 10)- 从 ② 取 1 张牌放到①(10 10 10 10)。
[输 入]:a.in 文件格式: N(N 堆纸牌,1 = N = 100) A1 A2 … An (N 堆纸牌,每堆纸牌初始数,l= Ai =10000)
[输 出]:输出至屏幕。
格式为: 所有堆均达到相等时的最少移动次数。‘
[输入输出样例]a.in: 4 9 8 17 6屏慕显示: 3
您可能关注的文档
最近下载
- 最新最完整的的厂房设施确认实施方案.pdf
- 工程造价专业大学生职业生涯规划书.docx VIP
- 档案管理10号令解读(网).ppt
- 重庆《轻质隔墙条板应用技术标准》DBJ50T 338-2019.pdf
- (冀人版)科学五年级上册全册知识点.docx
- 电子工业版信息科技七年级上册3-1 “互联网+”在学习中的应用 教案.pdf VIP
- 2024-2025学年高中生物 第4章 种群和群落 第4节 群落的演替说课稿 新人教版必修3.docx
- 10 数学史问题与一元一次方程(含答案析) -七年级数学之专攻一元一次方程各种类型题的解法(人教版).docx
- 锅炉本体焊接作业指导书.pdf
- 钣金加工:折弯工艺手册.doc VIP
文档评论(0)