问题描述:假设有n个任务由k个可并行工作的机器完成.完成任务i需要的时间为ti试设计一个算法找
算法设计:对任意给定的整数n和k,以及完成任务i需要的时间为ti(i=1,2,...,n).设计一个优先队列式分支限界法,计算完成这n个任务的最佳调度.
数据输入:由文件input.txt给出输入数据.第1行有2个正整数n和k.第2行的n个正整数是完成n个任务需要的时间.
结果输出:将计算的完成全部任务的最早时间输出到文件output.txt.
算法设计:对任意给定的整数n和k,以及完成任务i需要的时间为ti(i=1,2,...,n).设计一个优先队列式分支限界法,计算完成这n个任务的最佳调度.
数据输入:由文件input.txt给出输入数据.第1行有2个正整数n和k.第2行的n个正整数是完成n个任务需要的时间.
结果输出:将计算的完成全部任务的最早时间输出到文件output.txt.
第1题
问题描述:假设有来自n个不同单位的代表参加一次国际会议.铄个单位的代表数分别为ri(i=1,2,...,n).会议餐厅共有m张餐桌,每张餐桌可容纳ci(i=1,2,...,m)个代表就餐.为了使代表们充分交流,希望从同一个单位来的代表不在同一个餐桌就餐.试设计一个算法,给出满足要求的代表就餐方案.
算法设计:对于给定的代表数和餐桌数以及餐桌容量,计算满足要求的代表就餐方案.
数据输入:由文件input.txt提供输入数据.文件第1行有2个正整数m和n,m表示餐桌数,n表示单位数(1≤m≤150,1≤n≤270).文件第2行有m个正整数,分别表示每个单位的代表数.文件第3行有n个正整数,分别表示每个餐桌的容量.
结果输出:将代表就餐方案输出到文件output.txt如果问题有解,在文件第1行输出1,否则输出0.接下来的m行给出每个单位代表的就餐桌号.如果有多个满足要求的方案,只要输出一个方案.
第2题
问题描述:给定k个正整数,用算术运算符+、-、*./将这k个正整数连接起来,使最终的得数恰为m.
算法设计:对于给定的k个正整数,给出计算m的算术表达式.
数据输入:由文件input.txt给出输入数据.第1行有2个正整数k和m,表示给定k个正整数,且最终的得数恰为m.接下来的一行中有k个正整数.
结果输出:将计算m的算术表达式输出到文件output.txt.如果有多个满足要求的表达式,只要输出一组,每步算式用分号隔开.如果无法得到m,则输出“NoSolution!”.
第3题
算法设计:对于给定的维修程序时间表,计算最优时间表.
数据输入:由文件input.txt给出输入数据.第1行有2个正整数n和k.n表示仪器的工作时间单位,k是维修程序数.在接下来的k行中,每行有2个表示维修程序的整数s和t,该维修程序从第s个时间单位开始,持续t个时间单位.
结果输出:将计算出的最短维修时间输出到文件output.txt.
第4题
问题描述:假设有n根柱子,现要按下述规则在这n根柱矛中依次放入编号为1,2,3,...,的球.
①每次只能在某根柱子的最上面放球.
②在同一根柱子中,任何两个相邻球的编号之和为完全平方数.
试设计一个算法,计算出在n根柱子上最多能放多少个球.例如,在4根柱子上最多可放11个球.
算法设计:对于给定的n,计算在n根柱子上最多能放多少个球.
数据输入:由文件input.txt提供输入数据.文件第1行有I个正整数n,表示柱子数.
结果输出:将n根柱子上最多能放的球数及相应的放置方案输出到文件output.txte文件的第1行是球数.接下来的n行,每行是一根柱子上的球的编号.
第5题
算法设计:对于给定的I和k,计算I的最大k乘积.
数据输入:由文件input.txt提供输入数据.文件的第1行中有2个正整数n和k.正整数n是序列的长度,正整数k是分割的段数.接下来的一行中是一个n位十进制整数(n≤10).
结果输出:将计算结果输出到文件output.txt.文件第1行中的数是计算出的最大k乘积.
第6题
对于任何开线段z,设其端点坐标为(x0,y0)和(x1,y1),则开线段z的长度定义为
算法设计:对于给定的开线段集合I和正整数k.计算开线段集合I的最长k可重线段集的长度.
数据输入:由文件input.txt提供输入数据.文件的第1行有2个正整数n和k,分别表示开线段的个数和开线段的可重叠数.接下来的n行,每行有4个整数,表示开线段的2个端点坐标.
结果输出:将计算的最长k可重线段集的长度输出到文件output.txt.
第7题
算法设计:对于给定直线上的n个点,计算在直线L上最多设置k处服务机构的最小总费用.
数据输入:由文件input,txt给出输入数据.第1行有2个正整数n和k.n表示直线L上有n个点k是服务机构总数的上限.接下来的n行中,每行有3个整数.第i+1行的3个整数xi、wi、ci,分别表示相应居民点的位置坐标、服务需求量和在该点设置服务机构的费用.
结果输出:将计算的最小服务费用输出到文件output.txt
第8题
算法设计:对于给定的k个待安排的活动,计算使用最少会场的时间表.
数据输入:由文件input.txt给出输入数据.第1行有1个正整数k,表示有k个待安排的活动.接下来的k行中,每行有2个正整数,分别表示k个待安排的活动的开始时间和结束时间.时间以0点开始的分钟计.
结果输出:将计算的最少会场数输出到文件output.txt.
第9题
算法设计:对于给定的n个环形排列的仓库的库存量,计算使n个仓库的库存数量相同的最少搬运量.
数据输入:由文件input.txt提供输入数据.文件的第1行中有1个正整数n,表示有n个仓库.第2行中有n个正整数,表示n个仓库的库存量.
结果输出:将计算的最少搬运量输出到文件output.txt.
第10题
算法设计:对于给定的仓库布局,以及仓库管理员在仓库中的位置和箱子的开始位置和目标位置,设计一个解推箱子问题的分支限界法,计算出仓库管理员将箱子从开始位置推到目标位置所需的最少推动次数.
数据输入:由文件input.txt提供输入数据.输入文件第1行有2个正整数n和m(1≤n,m≤100).表示仓库是n×m个格子的矩形阵列.接下来有n行,每行有m个字符,表示格子的状态.
S——格子上放了不可移动的沉重货物;P——箱子的初始位置;
W——格子空闲:K——箱子的目标位置.
M——仓库管理员的初始位置:
结果输出:将计算的最少推动次数输出到文件output.txt.如果仓库管理员无法将箱子从开始位置推到目标位置则输出“NoSolution!".