蒟蒻求助:DNA分子的最佳比对玄学70分
查看原帖
蒟蒻求助:DNA分子的最佳比对玄学70分
622043
EldKs_Triumph楼主2022/11/17 22:11

P2268 DNA分子的最佳比对

#include<bits/stdc++.h>
using namespace std;
char a[1015],b[1015],s1[1015],s2[1015];
int l1,l2,f[1015][1015];
int maxx(int x,int y,int z)
{
	if(x>y&&x>z)
		return x;
	if(y>x&&y>z)
		return y;
	return z;
}
int main()
{
	cin>>a>>b;
	l1=strlen(a);
	l2=strlen(b);
	for(int i=0; i<=l1; i++)
	{
		for(int j=0; j<=l2; j++)
			f[i][j]=-2147483646;
	}
	f[0][0]=0;
	for(int i=0; i<l1; i++)
		s1[i+1]=a[i];
	for(int i=0; i<l2; i++)
		s2[i+1]=b[i];
	for (int i = 0; i <= l1; i++)
	{
		if (s1[i] < 97) s1[i] += 32;
	}
	for (int i = 0; i <=l2; i++)
	{
		if (s2[i] < 97) s2[i] += 32;
	}
	for(int i=1; i<=l1; i++)
		for(int j=1; j<=l2; j++)
		{
			f[i][j]=maxx(f[i-1][j]-2,f[i][j-1]-2,f[i-1][j-1]+(s1[i]==s2[j]));
		}
	cout<<f[l1][l2];
	return 0;
}

有哪位大佬能告诉我哪里错了?

2022/11/17 22:11
加载中...