对于任意长度不超过6的升序字符串,迅速计算出它在上述字典中的编码.
算法设计:对于给定的长度不超过6的升序字符串,计算它在上述字典中的编码.
数据输入:输入数据由文件名为input.txt的文本文件提供.文件的第1行是一个正整数k,表示接下来有k行.在接下来的k行中,每行给出一个字符出.
结果输出:将计算结果输出到文件output.txt.文件有k行,每行对应一个字符串的编码.
给定两个长度分别为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中.
问题描述:给定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行输出最长公共子序列的长度.
以下程序的输出结果为()。s="AB123def" for i in s: print(i,end='') #本次输出后不换行,后面的内容紧接着输出 if i.islower(): #字符串的islower方法用于判断字符串中的字母是否全为小写字母 print('yes') break else: print('no')
给定1个长度为n的字符串x,最长回文子串问题就是要找出X中长度最长的回文了串.例如,如果给定的字符串X=bbacababa,则子串bacab是X的一个最长的回文子串,它的长度是5.
算法设计:设计一个算法,找出给定字符串X的最长回文子串.
数据输入:由文件input.txt提供输入数据.文件的第1行中给出字符串X.
结果输出:将计算出的字符串X的最长回文子串输出到文件output.txt中.文件的第1行是最长回文子串的长度.文件的第2行是最长回文子串.
问题描述:定义于字母表上的乘法表如表3-1所示.对任一定义于Σ上的字符串,适当加括号后,得到,个表达式.例如,对于字符串x=bbba,它的一个加括号表达式为(b(bb)(ba).依乘法表,该表达式的值为a试设计一个动态规划算法,对任一定义于Σ上的字符串 计算有多少种不同的加括号方式,使由x导出的加括号表达式的值为a.
算法设计:对于给定的字符串,计算有多少种不同的加括号方式,使由x导出的加括号表达式的值为a.
数据输入:由文件input.txt提供输入数据.文件的第1行中给出一个字符串.
结果输出;将计算结果输出到文件output.txt文件的第1行中的数是计算出的加括号方式数.
算法设计:设计一个算法,找出给定序列x和y的包含s为其子串的最长公共子序列.
数据输入:由文件input.txt提供输入数据.文件的第1行中给出正整数,分别表示给定序列x、y和约束字符串s的长度.接下来的3行分别给出序列x、y和约束字符串s.
结果输出:将计算出的x和y的包含s为其子串的最长公共子序列的长度输出到文件output.txt中.
问题描述:子集和问题的一个实例为.其中,是一个正整数的集合,c是一个正整数.子集和问题判定是否存在S的一个子集S1,使得.试设计一个解子集和问题的回溯法.
算法设计:对于给定的正整数的集合和正整数c,计算S的一个了集S1,使得
数据输入:由文件input.txt提供输入数据.文件第1行有2个正整数n和c,n表示S的大小,c是子集和的目标值.接下来的1行中,有n个正整数,表示集合S中的元素.
结果输出:将子集和问题的解输出到文件output.txt.当问题无解时,输出“NoSolution!".
算法设计:对于给定的设置了堡垒的n×n格棋盘,设计一个随机化算法,在棋盘上放置尽可能多的彼此不受攻击的车.
数据输入:由文件input.txt给出输入数据.第1行有1个正整数n.接下来的n行中,每行有1个由字符“.”和“X"组成的长度为n的字符串.
结果输出:将计算的在棋盘上可以放置的彼此不受攻击的战车数输出到文件output.txt.
试设计一个算法,利用T公司提供的m个补丁程序,将原软件修复成一个没有错误的软件,并使修复后的软件耗时最少.
算法设计:对于给定的n个错误和m个补丁程序,找到总耗时最少的软件修复方案.
数据输入:由文件input.txt提供输入数据.文件第1行有2个正整数n和m,n表示错误总数,m表示补丁总数(1≤n≤20,1≤m≤100).接下来m行给出了m个补丁的信息.每行包括一个正整数,表示运行补丁程序i所需时间以及2个长度为n的字符串,中间用个空格符隔开.在第1个字符串中,如果第k个字符bk为“+”,则表示第k个错误属于B1[i],若为“-”,则表示第k个错误属于B2[i],若为“0”,则第k个错误既不属于B1[i]也不属于B2[i],即软件中是否包含第k个错误并不影响补丁i的可用性.在第2个字符串中,如果第k个字符bk为“+”,则表示第k个错误属于F1[i],若为“-”,则表示第k个错误属于F2[i],若为“0”,则第k个错误既不属于F1[i]也不属于F2[i],即软件中是否包含第k个错误不会因使用补丁i而改变.
结果输出:将总耗时数输出到文件output.txt.如果问题无解,则输出0.
问题描述:设是要进行排列的n个元素.其中元素可能相同.试设计一个算法,列出R的所有不同排列.
算法设计:给定n及待排列的n个元素.计算出这n个元素的所有不同排列.
数据输入:由文件input.txt提供输入数据.文件的第1行是元素个数n,1≤n≤500.接下来的1行是待排列的n个元素.
结果输出:将计算出的n1个元素的所有不同排列输出到文件output.txt.文件最后1行中
的数是排列总数.