欢迎来到天天文库
浏览记录
ID:14489832
大小:33.00 KB
页数:5页
时间:2018-07-29
《c语言入门必做习题100例(四)》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、1. (N阶梵塔) 有K根棒,第一根上放N片大小不等的圆盘,并保持上小下大的 顺序。现将N片圆盘从第1根移至第K根,移动中均保持上小下大的顺序,问最少 移几次方得结果,求出移动方案。2. 某一印刷厂有六项加工任务,对印刷车间和装订车间所需时间见下表(时间单 位:天) 任务 │J1 J2 J3 J4 J5 J6 ─────┼─────────────── 印刷车间│ 3 12 5 2 9 11 装订车间│ 8 10 9 6 3 1 如何安排加工顺序,使加工时间最少。3. 将7万元投资
2、到A,B,C三项目上,其利润见下表: 投资额(万元)│ 1 2 3 4 5 6 7 ──────┼──────────────────── 项 A │0.11 0.13 0.15 0.24 0.24 0.30 0.35 B │0.12 0.16 0.21 0.25 0.25 0.29 0.34 目 C │0.08 0.12 0.20 0.26 0.26 0.30 0.35 如何分配投资额,使获得的利润最大。4
3、. 无根树与通常所说的树(有根树)很相似,它包含有节点和枝,但不含有根。 无根树节点之间只有相邻关系。如图一所示,是一棵有七个节点的无根树,以图一 的A为根节点得到图二所示的有根树,以B为根节点得到图三所示的有根树,但从 无根树的角度看,图一、二、三是结构相同的无根树,同时无根树的结构与节点的 名称无关。 有根树可以用字符串的形式表示,其递归表示方法是: 根节点(子树1 子树2 子树3...) 图一,图二的有根树可表示为 A(B(CF(EGD))) 和 B(ACF(EGD))。由于子树的表示 顺序可以不同,所以一棵有根树可以有多种表示方法,如图三又可表示成 B
4、(F(EGD)CA) 或 B(ACF(DE(G)) 等。表示无根树时,可以以它任一节点为根节点, 将其看作有根树,从而可以利用有根树的字符串表示形式来表示无根树。 任务一:由键盘读入一个字符串表示的无根树,无根树的各节点的名称用互不 相同的大写英文字母表示。由用户输入一个节点的名称,程序应能够输出一种以该 节点为根节点的字符串形式。程序输出无根树的字符串形式时,各个节点的名称无 关紧要,所有节点都以P表示,以后的各种输出也采用这种形式。例如:输入无根 树的字符串形式:A(B(CD(EF))),指定根节点为D,程序应能输出 P(P(PP)PP),P(PP(PP)P),P(PPP(PP))
5、中的任意 一种即可。 任务二:输入两个串表示的无根树,判断其结构是否一样。注意它与节点名称 无关,只考虑结构。 任务三:输入无根树的总枝数N(1<=N<=11),输出所有枝数为N的互不相同 的无根树,并记录总数。以字符串形式输出,例如:N=5 时共有6种不同结构的无 根树。 注意:各种树结构的字符串表达形式不唯一。5. 用N*N(1<=N<=8)的格点阵代表海,其中*号代表岛。给你一组编 码信息,让你重构一张地图。这组信息是按垂直方向,水平方向岛的情况摘取的。 下例中,每行右边的数字按顺序表示该行中“岛组”的大小,如第一行数字为 “12”,表示该行第一“岛组”由一个岛组成,
6、第二“岛组”由两个岛组成,而 第四列下面的“23”则表示本列由两个“岛组”组成,第一个“岛组”由两个岛 组成,第二个“岛组”由三个岛组成。 任务:编程执行以下步骤,直到给定的输入 (ASCII) 文件中的信息组全部读完 为止,步骤如下: (1)从输入文件 (ASCII 文件)中读入下一个信息块,并将它显示在屏幕上。 每个信息块组成为: 格点阵大小 (N),以后是行的约束条件(N行的),列的约束条件(N列的), 每行(或每列)的约束条件是 一行数字,数字间有空格,最后用0结束。上面的例子如图所示。 (2)重构这张地图(若有多个解,要逐个构成地图),并显示。 (3)
7、将重构的地图以ASCII文件形式输出。每岛以*后加一个空格表示; 空白处用连续的两个空格表示。若同一已知条件可画出多张地图,相互间用空行隔 开;若一组已知条件画不出地图,用“NO MAP(占一行)表示。由不同的信 息组求得的解用“NEXT PROBLEM”(占一行表示)1<=N<=8. 6. 一个餐厅在相继的N天里,第 i 天需要 Ri 块餐巾(i=1,2,...,N)。餐厅 可以从三种途径得到餐巾:
此文档下载收益归作者所有