日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁 > 芯聞號(hào) > 充電吧
[導(dǎo)讀]有n 個(gè)長(zhǎng)為m+1 的字符串,如果某個(gè)字符串的最后m 個(gè)字符與某個(gè)字符串的前m 個(gè)字符匹配,則兩個(gè)字符串可以聯(lián)接,問這n 個(gè)字符串最多可以連成一個(gè)多長(zhǎng)的字符串,如果出現(xiàn)循環(huán),則返回錯(cuò)誤。 把字符串看

有n 個(gè)長(zhǎng)為m+1 的字符串,如果某個(gè)字符串的最后m 個(gè)字符與某個(gè)字符串的前m 個(gè)字符匹配,則兩個(gè)字符串可以聯(lián)接,問這n 個(gè)字符串最多可以連成一個(gè)多長(zhǎng)的字符串,如果出現(xiàn)循環(huán),則返回錯(cuò)誤。

把字符串看成圖中的一個(gè)頂點(diǎn),兩字符串匹配則兩個(gè)頂點(diǎn)間有邊,從而轉(zhuǎn)化為圖的問題。

利用弗洛伊德算法求圖的最長(zhǎng)路徑。

#include 
#include 
using namespace std;

#define INFINITY -10000  
#define MAX_VERTEX_NUM 20 

typedef struct MGraph{
	string vexs[MAX_VERTEX_NUM];//頂點(diǎn)信息,這里就是要處理的字符串,每個(gè)字符串看做一個(gè)頂點(diǎn)
	int arcs[MAX_VERTEX_NUM][MAX_VERTEX_NUM];//鄰接矩陣,符合條件的兩個(gè)字符串之間有邊
	int vexnum, arcnum;//頂點(diǎn)數(shù)就是字符串的個(gè)數(shù)
}MGraph;

void CreateDG(MGraph &G)//構(gòu)造有向圖
{
	int i, j;
	int m;
	cout<<"請(qǐng)輸入要處理的字符串個(gè)數(shù):";
	cin>>G.vexnum;

	cout<<"請(qǐng)輸入這"<>G.vexs[i];

	cout<<"請(qǐng)輸入m:";
	cin>>m;

	for(i=0; iINFINITY)
			{
				p[v][w][0]=v;
				p[v][w][1]=w;
			}
		}

	for(u=0; uINFINITY && D[u][w]>INFINITY && D[v][u]+D[u][w]>D[v][w] )//改進(jìn)的弗洛伊德算法,求最長(zhǎng)路徑
				{
					D[v][w]=D[v][u]+D[u][w];

					//更新p,以便打印路徑
					for(i=0; imax)
				{
					max=D[i][j];
					posx=i;
					posy=j;
				}
			}
    	cout<


本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除( 郵箱:macysun@21ic.com )。
換一批
延伸閱讀
關(guān)閉