2个C/C++题目,谁来帮个忙??

1.求三个字符串的最长公共子串.输入3个长度小于100的字符串, 输出最长子串.
2.有n个士兵(1≤n≤26),编号依次为A、B、C,…… 队列训练时,指 挥官要把一些士兵从高到矮依次排成一行。但现在指挥官不能直接获得 每个人的身高信息,只能获得“p1比p2高”这样的比较结果(p1,p2∈ {'A',…,'Z'}),记为p1>p2。例如A>B,B>D,F>D。士兵的身高关系 如图所示:

对应的排队方案有三个:AFBD、FABD、ABFD。
输入:
第一行:一个整数k
第二至第k+1行:每行两个大写字母(中间和末尾都没有空格),代表 两个士兵,且第一个士兵高度大于第二个士兵。
输出:
一个只包含大写字母的字符序列,表示排队方案(只要一种方案即 可)。
输入样例: 3
AB
BD
FD
输出样例:AFBD
问题分析:
士兵的身高关系对应一张有向图,图中的顶点对应一个士兵,有向边 <vi,vj>表示士兵i高于士兵j。我们按照从高到矮将士兵排出一个线 形的顺序关系,即为对有向图的顶点进行拓扑排序。

题目一:
关键的思路是先求出两个字符串的最大公共子串,并将此与第三个字符串再求公共子串,其中最大者即为所求。
先编写一个通用函数int maxmatch(char *s2, char *s1)。其中s2的长度大于等于s1的长度。函数让s1在s2中从头至尾地滑动,在滑动过程中不断求出所能匹配的字符个数,最后返回这些匹配字符个数的最大者。例如:
maxmatch("abcd", "abc")返回3。
maxmatch("abcd", "acd")返回1。
maxmatch("abcd", "cda")返回2。
下面描述算法:
不失一般性的,设给定的三个字符串为str3,str2,str1,且长度依次减小。
令s1代表str1中从第一个字符、第二个字符......开始的子串。
开始循环:{
求出n1=maxmatch(str2, s1)。令s2为s1的前n1个字符组成的子串。
开始循环:{
求出n2=maxmatch(str3, s2)。令s3为s2的前n2个字符组成的子串。
}
}
所有s3中长度最大者即为所求。

题目二:
由于只需要求出一个解,因此关键的思路是将任意两个士兵的高矮关系都描述出来,然后按照冒泡法排序即可。
1、所有高矮关系设为未知。
2、用给定条件更新高矮关系。
3、根据给定条件推导出必然的高矮关系。
4、高矮关系仍为未知者一律假设字母靠前者高。
例如给定条件为A>B,B>D,F>D。第3步可推出A>D。第4步尚有AF、BF关系未知,因此可设:A>F,B>F。
此后即可进行冒泡排序。
温馨提示:内容为网友见解,仅供参考
第1个回答  2007-02-26
第一个很简单!
分别求出每个字符串的length
然后比较就可以了!
第2个属于排序问题了,排序的方法很多了,冒泡,选择....等等!!

C++字符串小问题,请大家帮个忙,很简单
这个是要把数组传递给子函数操作,实际上只能传递的是该数组的指针,也就是子函数的数组指针指向的内容和主函数的是同一个,在子函数里修改其内容就是更改主函数里数组的内容。把形参设置成const,子函数就无权中修改其内容,保护了数据的安全性。所以在写传给子函数指针型数据时,如果不想(或不能)...

全都是一些c++基础问题,可是困扰了我很久了,明天考试,帮个忙吧~
2.这一题你要清楚const类型的作用,标识符前加const说明它在初始化后不可改变,例如我定义:const int a; \/\/a被默认赋值0 a=5; 这是不允许的,要想给a赋值5 必须这样定义:const int a=5;接下来不能对a做任何改变 因为累sample的数据成员f和c是const类型 所以构造函数只能用初始化的方式而不...

哪位大神帮个忙(c++)?
首先根据质数筛法,用数组prime标记0~100000中的所有质数,prime[i]==1表示i为质数 然后将prime数组转为前缀和数组,即令prime[i]等于prime[0]~prime[i]之和 表示0~i中的质数个数,这样任意区间[a,b]中的质数个数就等于prime[b]-prime[a-1]相应C++代码和运行结果如下:如图输出了1~30、1~10...

C++题目 帮个忙 上课听不懂哇。太笨了。。
第二题请看下面的代码;我已经运行过了!\/ 定义一个Point类,数据成员包括横坐标x和纵坐标y,成员函数包括构造函数和信息打印函数show_info。并从Point类公有派生Rectangle类和Circle类。其中Rectangle派生类中新增数据成员有宽度width和高度height、新增公有成员函数area计算长方形的面积 Circle派生类中新增数...

哪位大侠能够帮个忙(关于C++数据结构当中的KMP算法的)
你是多大的学生?这种问题你应该去找你的亲戚,你哥哥一类的,网上的人现在一般没好人,回答顶多也是错题,你还是问亲戚吧~

请懂C++的高手帮个忙~!
(教皇格利高里十三世丢掉了十天--1582年十月5到14,改进了 闰年算法--400年97闰).\/ void cal_mjd(int mn,double dy,int yr,double *mjd){ static double last_mjd, last_dy;static int last_mn,last_yr;int b,d,m,y;long c;if(mn==last_mn&&yr==last_yr&&dy==last_dy){ mjd=last...

哪位大侠能够帮个忙,我想知道C++当中的#include当中的一些常用函数以及...
Example \/* TIMES.C illustrates various time and date functions including:time _ftime ctime asctime localtime gmtime mktime _tzset _strtime _strdate strftime Also the global variable:_tzname \/ include include <stdio.h> include <sys\/types.h> include <sys\/tim...

c++平方和,(帮个忙,qwq)?
根据题目的要求:约定:n<=1e18,时间1s。如果按照for循环逐个累加平方和,当n很大时,必定超时。不过也有办法,数学问题就用数学去解决,可以证明 1^2+2^2+3^2+...+n^2=n(n+1)(2n+1)\/6 程序就很简单了,还有一个问题就是n的类型,因为约定:n<=1e18,需要用到64位整型来表示,long ...

...计算机二级C语言考试大纲,急用!!!各位,请帮个忙!在下先谢过了...
4.在 Visual C++ 6.0 集成环境下,能够编写简单的C程序,并具有基本的纠错和调试程序的能力 ◆ 考试内容 一、C语言程序的结构 1.程序的构成,main函数和其他函数。2.头文件,数据说明,函数的开始和结束标志以及程序中的注释。3.源程序的书写格式。4.C语言的风格。二、数据类型及其运算 1.C的数据...

0x7ff80c42"指令引用的"0x7ff80c42"内存.该内存不能为written
请大家帮个忙。 内存我在别的机器上用不会有问题。然后关掉提示的错误后就蓝屏了,英文是:stop:c000021a unknown hard error unknown hard error谢谢各位的答案。最后我又重新装了下系统。这一次不是在网上拉的。而是用光盘装的。重新装。用了快一个小时。。不是GHOST版的。现在已经好了。看来是以前两个GHOST版...

相似回答