算法设计:给定带有某种病毒的程序代码段集合,寻找程序代码段集合中每个代码段都包含的最长字符串.
数据输入:由文件input.txt提供输入数据.文件第一行有一个正整数n(1≤n≤100),表示程序代码段集合中代码段数.接下来的n行中,每行是一个程序代码段.每个程序代码段已经转换成由英文大小写字母组成的长度不超过1000的字符串.
结果输出:将找到的程序代码段集合中最长公共字符串输出到文件output.txt中.
文件的第1行输出最长公共字符串的长度.文件的第2行输出最长公共字符串.
A.定长字符串,应给定最大长度
B.若给定字符串短于最大长度,补以空格
C.若给定字符串长于最大长度,截掉多余字符
D.定长字符串,不必给出最大长度
算法设计:对于给定的方格棋盘,按照取数要求找出总和最大的数.
数据输入:由文件input.txt提供输入数据.文件第1行有2个正整数m和n,分别表示棋盘的行数和列数.接下来的m行,每行有n个正整数,表示棋盘方格中的数.
结果输出:将取数的最大总和输出到文件output.txt.
问题描述:定义于字母表上的乘法表如表3-1所示.对任一定义于Σ上的字符串,适当加括号后,得到,个表达式.例如,对于字符串x=bbba,它的一个加括号表达式为(b(bb)(ba).依乘法表,该表达式的值为a试设计一个动态规划算法,对任一定义于Σ上的字符串 计算有多少种不同的加括号方式,使由x导出的加括号表达式的值为a.
算法设计:对于给定的字符串,计算有多少种不同的加括号方式,使由x导出的加括号表达式的值为a.
数据输入:由文件input.txt提供输入数据.文件的第1行中给出一个字符串.
结果输出;将计算结果输出到文件output.txt文件的第1行中的数是计算出的加括号方式数.
算法设计:对于给定的I和k,计算I的最大k乘积.
数据输入:由文件input.txt提供输入数据.文件的第1行中有2个正整数n和k.正整数n是序列的长度,正整数k是分割的段数.接下来的一行中是一个n位十进制整数(n≤10).
结果输出:将计算结果输出到文件output.txt.文件第1行中的数是计算出的最大k乘积.
5 集合合并:
给定一个字符串的集合,格式如: {aaa bbb ccc}, {bbb ddd}, {eee fff},
{ggg},{ddd hhh} 要求将其中交集不为空的集合合并,要求合并完成后的集
合之间无交集,例如上例应输出 {aaa bbb ccc ddd hhh},{eee fff}, {ggg}
(1)请描述你解决这个问题的思路;
(2)请给出主要的处理流程,算法,以及算法的复杂度
(3)请描述可能的改进(改进的方向如效果,性能等等,这是一个开放问题)。
5 集合合并:
给定一个字符串的集合,格式如: {aaa bbb ccc}, {bbb ddd},{eee fff},{ggg},{ddd hhh} 要求将其中交集不为空的集合合并,要求合并完成后的集合之间无交集,例如上例应输出 {aaa bbb ccc ddd hhh},{eee fff}, {ggg}
(1)请描述你解决这个问题的思路;
(2)请给出主要的处理流程,算法,以及算法的复杂度
(3)请描述可能的改进(改进的方向如效果,性能等等,这是一个开放问题)。