算法设计:对于给定的树T,以及障碍物在树T中的分布情况,计算机器人从起点s到终点t的最少移动次数.
数据输入:由文件input.txt提供输入数据.文件的第1行有3个正整数n,s和t,分别表示树T的顶点数,起点s的编号和终点t的编号.
接下来的n行分别对应于树T中编号为0,1,...,n-1的项点.每行的第1个整数h表示顶点的初始状态,当h+1时表示该顶点为空顶点,当h=0时表示该顶点为满顶点,其中已有一个障碍物.第2个数k表示有k个顶点与该项点相连.接下来的k个数是与该顶点相连的顶点编号.
结果输出:将计算出的机器人最少移动次数输出到文件output.txt.如果无法将机器人从起点s移动到终点t,则输出“NoSolution!"
第1题
第2题
第3题
第4题
个单位的货物.货物供需平衡,即.从第i个仓库运送每单位货物到第j个零售商店的费用为cij试分别设计一个将仓库中所有货物运送到零售商店的最优和最差运输方案,即使总运输费用最少或最多.
算法设计:对于给定的m个仓库和n个零售商店间运送货物的费用,计算最优运输方案和最差运输方案.
数据输入:由文件input.txt提供输入数据.文件的第1行有2个正整数m和小,分别表示仓库数和零售商店数.接下来的一行中有m个正整数ai(1≤i≤m),表示第i个仓库有ai个单位的货物.再接下来的一行中有n个正整数bj(1≤j≤n),表示第j个零售商店需要bj个单位的货物.接下来的m行,每行有n个整数,表示从第i个仓库运送每单位货物到第j个零售商店的费用cij.
结果输出:将计算的最少运输费用和最多运输费用输出到文件output.txt.
第5题
正,每个方格边长为1,汽车加油行驶问题的交通方形网格如图8-2所示.一辆汽车从起点◎出发驶向右下角终点▲,其坐标为(N,N).在着干个网格交叉点处,设置了油库,可供汽车在行驶途中加油.汽车在行驶过程中应遵守如下规则:
①汽车只能沿网格边行驶,装满油后能行驶K条网格边.出发时汽车已装满油,任起点与终点处不设油库.
②汽车经过一条网格边时,若其X坐标或Y坐标减小,则应付费用B,否则免付费用.
③汽车在行驶过程中遇油库,应加满油并付加油费用A.
④在需要时用在网格点处增设油库,并付增设油库费用C(不含加油费用A).
⑤①~④中的各数N、K、A、B、C均为正整数,且满足约束:2≤N≤100,2≤K≤10.
设计一个算法,求出汽车从起点出发到达终点的一条所付费用最少的行驶路线.
算法设计:对于给定的交通网格,计算汽车从起点出发到达终点的一条所付费用最少的行驶路线.
数据输入:由文件input.txt提供输入数据.文件的第1行是N、K、A、BC的值.第2行起是一个N×N的0-1方阵,每行N个值,至N+1行结束.方阵的第i行第j列处的值为1表示在网格交叉点(,j)处设置了一个油库,为0时表示未设油库.各行相邻两个数以空格分隔.结果输出:将最小费用输出到文件output.txt.
第6题
居住了.于是在月球上建立了新的绿地,以便在需要时移民.令人意想不到的是,2177年冬由于未知的原因,地球环境发生了连锁崩溃,人类必须在最短的时间内迁往月球.现有n个太空站位于地球与月球之间,且有m艘公共交通太空船在其间来回穿梭.每个太空站可容纳无限多的人,而每艘太空船i只可容纳H[i]个人.每艘太空船将周期性地停靠一系列的太空站,例如,(1,3,4)表示该太空船将周期性地停靠太空站134134134...每艘太空船从一个太空站驶往任一太空站耗时均为1.人们只能在太空船停靠太空站(或月球、地球)时上下船.初始时,所有人全在地球上,太空船全在初始站.试设计一个算法,找出让所有人尽快全部转移到月球上的运输方案.
算法设计:对于给定的太空船的信息,找到让所有人尽快全部转移到月球上的运输方案.
数据输入:由文件input.txt提供输入数据.文件第1行有3个正整数n(太空站个数)、m(太空船个数)和k(需要运送的地球上的人数).其中,1≤m≤13,1≤n≤20,1≤k≤50.
接下来的m行给出太空船的信息.第i+1行说明太空船pi.第1个数表示pi可容纳的人数Hpi;第2个数表示pi一个周期停靠的太空站个数r(1≤r≤n+2);随后r个数是停靠的太空站的编号Si1,Si2,...Sir,地球用0表示,月球用-1表示.时刻0时,所有太空船都在初始站,然后开始运行.在时刻1、2、3、...等正点时刻各艘太空船停靠相应的太空站.人只有在0、1、2...等正点时刻才能上、下太空船.
结果输出:将全部人员安全转移所需的时间输出到文件output.txt.如果问题无解,则输出0.
第8题
0...p-1].带有子串包含约束的最长公共子序列问题就是要找出x和y的包含s为其子串的最长公共子序列.例如,如果给定的序列x和y分别为AATGCCTAGGC和CGATCTGGAC,字符串s=GTA时,子序列ATCTGGC是x和y的一个无约束的最长公共子序列,而包含s为其子串的最长公共子序列是GTAC.
算法设计:设计一个算法,找出给定序列x和y的包含s为其子串的最长公共子序列.
数据输入:由文件input.txt提供输入数据.文件的第1行中给出正整数,分别表示给定序列x、y和约束字符串s的长度.接下来的3行分别给出序列x、y和约束字符串s.
结果输出:将计算出的x和y的包含s为其子串的最长公共子序列的长度输出到文件output.txt中.
第10题
问题描述:给定2个长度分别为n和m的序列x[0...n-1]和y[0...m-1],以及d个约束字符串多子串排斥约束的最长公共子序列问题就是要找出x和y的不含为其子串的最长公共子序列
算法设计:设计一个算法,找出给定序列x和y的不含为其子串的最长公共子序列.
数据输入:重文件input.txt提供输入数据.文件的第1行中给出正整数d,表示约束字符串个数.接下来的2行分别给出序列x和y.最后d行的每行给出一个约束字符串.
结果输出:将计算出的x和y的不含为其子串的最长公共子序列输出到文件output.txt中.文件的第1行输出最长公共子序列.第2行输出最长公共子序列的长度.
第11题
问题描述:基因序列是用字符串表示的携带基因信息的DNA分子的一级结构.基因序
列的字符集是Σ={A,C,G,T}.其中字符分别代表组成DNA的4种核苷酸:腺嘌呤、胞嘧啶、鸟嘌呤、胸腺嘧啶.许多疾病往往是由基因突变引起的.这种基因突变是从一个正常的基因序列通过几代人的遗传而产生的.对于基因片段的分析有助于了解基因突变导致的遗传疾病.例如,如果一个基因序列中含有基因片段ATG,则可能含有某种遗传疾病.生物科学家们已经发现许多这类基因片段.对于已知的不安全的基因片段集合P,如果一个基因序列中含有P中基因片段,则称该基因序列为不安全的基因序列,否则称该基因序列为安全的基因序列.
算法设计:对于给定的不安全的基因片段集合P和一个正整数n,计算长度为n的安全的基因序列个数.
数据输入:由文件input.txt提供输入数据.文件的第1行有两个正整数n(1≤n≤2x109)和m(0≤m≤10).n是基因序列长度,m是不安全的基因片段个数.接下来的m行中,每行是一个长度不超过10的不安全的基因片段.每个文件可能有多个测试数据.
结果输出:将计算出的长度为n的安全的基因序列个数mod100000,输出到文件output.txt中.
第12题
程序代码.计算机病毒不仅能影响计算机使用,还能自我复制.就像生物病毒一样,它具有自我繁殖、互相传染及激活再生等生物病毒特征.计算机病毒的独特的复制能力,使它们能够快速蔓延,义常常难以根除.它们能把自身附着在各种类型的文件上,当文件被复制或从一个用户传送到一个用户时,它们随文件一起蔓延.杀除计算机病毒的一个有效方法是找出特定计算机病毒的代码特征.对于给定的带有某种病毒的程序代码段集合,通过寻找程序代码段集合中所包含的公共特征,可以快速确定计算机病毒的代码特征.
算法设计:给定带有某种病毒的程序代码段集合,寻找程序代码段集合中每个代码段都包含的最长字符串.
数据输入:由文件input.txt提供输入数据.文件第一行有一个正整数n(1≤n≤100),表示程序代码段集合中代码段数.接下来的n行中,每行是一个程序代码段.每个程序代码段已经转换成由英文大小写字母组成的长度不超过1000的字符串.
结果输出:将找到的程序代码段集合中最长公共字符串输出到文件output.txt中.
文件的第1行输出最长公共字符串的长度.文件的第2行输出最长公共字符串.
第13题
式识别中有广泛应用.其中最主要的应用是测量基因序列的相似性.在演化分子生物学的研究中发现,某个重要的DNA序列片段常出现在不同的物种中.在测量基因序列的相似性时,如果需要特别关注一个具体的DNA序列片段,就要考察带有子串排斥约束的最长公共子序列问题.这个问题可以具体表述如下.
给定两个长度分别为n和m的序列x[0...n-1|]和y[0...m-1],以及一个长度为p的约束字符串s[0...p-1].带有子串排斥约束的最长公共子序列问题就是要找出x和y的不包含s为其子串的最长公共子序列.例如,如果给定的序列x和y分别为AATGCCTAGGC和CGATCTGGAC.字符串s=TG时,子序列ATCTGGC是x和y的一个无约束的最长公共子序列,而不包含s为其子串的最长公共子序列是ATCGGC.
算法设计:设计一个算法,找出给定序列x和y的不包含s为其子串的最长公共子序列.
数据输入:由文件input.txt提供输入数据.文件的第1行中给出正整数,分别表示给定序列x和y及约束字符串s的长度.接下来的3行分别给出序列x、y和约束字符串s.
结果输出:将计算出的x和y的不包含s为其子串的最长公共子序列的长度输出到文件output.txt中.
为了保护您的账号安全,请在“上学吧”公众号进行验证,点击“官网服务”-“账号验证”后输入验证码“”完成验证,验证成功后方可继续查看答案!