Tìm chuỗi con chung dài nhất

em đang làm bài " Tìm chuỗi con chung dài nhất" , kết quả mà em tìm ra sẽ in ra " 1 dòng chứa chuỗi con chung dài nhất . nếu có nhiều chuỗi con chung có cùng độ dài thì chuỗi nào xuất hiện trước sẽ được chọn để ghi vào file"

#include<bits/stdc++.h>
using namespace std;
string X,Y;
int LCS(int m, int n)
{
	if(m==0 || n==0)
		return 0;
	else
		if(X[m-1] == Y[n-1]) return 1+LCS(m-1,n-1);
		else return max(LCS(m-1,n), LCS(m,n-1));
}
int LCS_DP(int m , int n)
{
	int**a; a=new int*[m+1];
	for(int i=0;i<=m;i++) a[i]=new int [n+1];
	for(int i=0;i<=m;i++)
		for(int j=0;j<=n;j++) a[i][j]=0;
	for(int i=1;i<=m;i++)
		for(int j=1;j<=n;j++)
			if(X[i-1]==Y[j-1]) a[i][j]=1+a[i-1][j-1];
			else a[i][j]=max(a[i][j-1],a[i-1][j]);
	return a[m][n];			
}
int main()
{
	X="SDKFNSLDFSDJFLKSDFLSFLSOOIREIWEFOJCASNCMCABADCA",Y="DBSKJFWEJFOSDJFDOIJFMXCSJFSOJDFSJDOFJSODJFOSLKSJDFOSAXDA";
	int m=X.length();
	int n=Y.length();
	long kq;
	kq=LCS_DP(m,n);
	cout<<"\nDo dai chuoi con chung lon nhat la :"<<kq;
	return 0;
}

Bạn vô link dưới đọc cách dùng markdown để đăng code nha.

Và chú ý cách đặt tiêu đề nữa. Tag và category đều không có thêm.

Mình để ý là các topic của bạn đều được các mod sửa cho.

1 Like

cảm ơn bạn đã góp ý kiến về bài của mình.

Thật ra bên dưới có cái edit, bạn k cần tạo topic mới đâu. :v
image

Lỡ tạo r thì th, bạn close topic này đi nha. :v

1 Like
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?