可能性则输出 “case j yes”,否则输出“case j no”。所有结果输出到文件output.txt。
输入文件示例 输出文件示例 Input.txt output.txt 3 case 1 yes USDollar case 2 no BritishPound FrenchFranc 3
USDollar 0.5 BritishPound BritishPound 10.0 FrenchFranc FrenchFranc 0.21 USDollar 0
3、磁带最大利用率问题
问题描述:设有n个程序{1,2,…,n}要存放在长度为L的磁带上。程序i存放在磁带上的长度是li,1≤i≤n。
程序存储问题要求确定这n个程序在磁带上的一个存储方案,使得能够在磁带上存储尽可能多的程序。在保证存储最多程序的前提下还要求磁带的利用率达到最大。
编程任务:对于给定的n个程序放在磁带上的长度,编程计算磁带上最多可以存储的程序数和占用磁带的长度。
数据输入:由文件input.txt给出输入数据。第1行是2个正整数,分别表示文件个数n和磁带的长度L。家下来的1行中,有n个正整数,表示程序存放在磁带上的长度。
结果输出:将编程计算出的最多可以存储的程序数和占用磁带上的每个程序的长度输出到文件output.txt。第1行输出最多可以存储的程序数和占用磁带的长度;第2行输出存放在磁带上的每个程序的长度。
输入文件示例 输出文件示例 input.txt output.txt 9 50 5 49
2 3 13 8 80 20 21 22 23 2 3 13 8 23
4、多元Huffman编码问题
问题描述:在一个操场的四周摆放着n堆石子。现要将石子有次序地合并成一堆。规定每次至少选2堆最多选k堆石子合并成新的一堆,合并的费用为新的一堆的石子数。试设计一个算法,计算出将n堆石子合并成一堆的最大总费用和最小总费用。
编程任务:对于给定的n堆石子,编程计算合并成一堆的最大总费用和最小总费用。
数据输入:由文件input.txt提供输入数据。文件的第1行有2个正整数n和k,表示有n堆石子,每次至少选2堆最多选k堆石子合并。第2行有n个数,分别表示每堆石子的个数。
结果输出:程序运行结束时,将计算的最大总费用和最小总费用输出到output.txt。
输入文件示例 输出文件示例 input.txt output.txt 7 3 593 199 45 13 12 16 9 5 22
5、最优分解问题
问题描述:设n是一个正整数。现在要求将n分解为若干互不相同的自然数的和,且使这些自然数的乘积最大。
编程任务:对于给定的正整数n,编程计算最优分解方案。
数据输入:由文件input.txt提供输入数据。文件的第1行是正整数n。 结果输出:程序运行结束时,将计算出的最大乘积输出到文件output.txt。
输入文件示例 输出文件示例 input.txt output.txt 10 30
第五章
1、最小重量机器设计问题
问题描述:设某一机器由n个部件组成,每一种部件都可以从m个不同的供应商处购得。高wij是从供应商j处购得的部件i的重量,cij是相应的价格。
试设计一个算法,给出总价格不超过c的最小重量机器设计。 编程任务:对于给定的机器部件重量和机器部件价格,编程计算总价格不超过d的最小重量机器设计。
数据输入:由文件input.txt给出输入数据。第一行有3个正整数n,m和d。接正业的2n行,每行n个数。前n行是c,后n行是w。 结果输出:将计算出的最小重量,以及每个部件的供应商输出到文件output.txt。
输入文件示例 input.txt 3 3 4 1 2 3 3 2 1 2 2 2
4 1 3 1
输出文件示例 output.txt
2、运动员最佳配对问题
问题描述:羽毛球有男女运动员各n人。给定2个n╳n矩阵P和Q。P[i][j]是男运动员i和女运动员j配对组成混合双打的男运动员竞赛优势;Q[i][j]是女运动员i和男运动员j配合的女运动员竞赛优势。由于技术配合和心理状态等各种因素影响,P[i][j]不一定等于Q[j][i]。男运动员i和女运动员j配对组成混合双打的男女双方竞赛优势为P[i][j]*Q[j][i]。设计一个算法,计算男女运动员最佳配对法,使各组男女双方竞赛优势的总和达到最大。
编程任务:设计一个算法,对于给定的男女运动员竞赛优势,计算男女运动员最佳配对法,使各组男女双方竞赛优势的总和达到最大。 数据输入:由文件input.txt给出输入数据。第一行有1个正整数n
(1≤n≤20)。接下来的2n行,每行n个数。前n行是p,后n行是q。
结果输出:将计算出的男女双方竞赛优势的总和的最大值输出到文件output.txt。 例
Input.txt 3 10 2 3 2 3 4 3 4 5 2 2 2 3 5 3 4 5 1
52
output.txt
输入文件示例
输出文件示
3、无和集问题
问题描述:设S是正整数集合。S是一个无和集当且仅当x,y?S蕴含x+y?S。
对于任意正整数k,如果可将{1,2,……,k}划分为n个无和子集S1,S2,……,Sn,则称正整数k是n可分的。记F(n)=max{k|k是n可分的}。试设计一个算法,对任意给定的n,计算F(n)的值。 编程任务:对任意给定的n,编程计算F(n)的值。
数据输入:由文件input.txt给出输入数据。第一行有1个正整数n。 结果输出:将计算出的F(n)的值以及{1,2,……,F(n)}的一个n划分输出到文件output.txt。文件的第1行是F(n)的值。接下来的n行,每行是一个无和子集Si。 输入文件示例 input.txt 2 8 1 2 4 8 3 5 6 7
输出文件示例 output.txt
4、整数变换问题
问题描述:关于整数i的变换f和g定义如下:f(i)=3i;g(i)= ?i/2?。 试设计一个算法,对于给定的2个整数n和m,用最少的f和g变换次数将n变换为m。
例如,可以将整数15用4次变换将它变换为整数4:4=gfgg(15)。当整数n不可能变换为整数m时,算法应如何处理?
编程任务:对任意给定的整数n和m,编程计算将整数n变换为整数m所需要的最少变换次数。
数据输入:由文件input.txt给出输入数据。第1行有2个正整数n和m。
结果输出:将计算出的最少变换次数以及相应的变换序列输出到文件output.txt。文件的第一行是最少变换次数。文件的第2行是相应的变换序列。
输入文件示例 input.txt 15 4
输出文件示例 output.txt 4 gfgg
5、布线问题
问题描述:假设要将一组元件安装在一块线路板上,为此需要设计线路板布线方案。各元件的连线数由连线矩阵conn给出。元件i和元件j之间的连线数为conn(i,j)。如果将元件i安装在线路板上位置r处,而将元件j安装在线路板上位置s处,则元件i和元件j之间的距离为dist(r,s)。确定了所给的n个元件的安装位置,就确定了一个布线方案。与此布线方案相应的布线成本为。试设计一个算法找出所给n个元件的布线成本最小的布线方案。
编程任务:设计一个算法,对于给定的n个元件,计算最佳布线方案,使布线费用达到最小。
数据输入:由文件input.txt给出输入数据。第1行有1个正整数n(1≤n≤20)。接下来的n-1行,每行n-i个数,表示元件i和元件j