社区讨论
Why 60pts?
P1140相似基因参与者 1已保存回复 0
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 0 条
- 当前快照
- 1 份
- 快照标识符
- @m1j02f5b
- 此快照首次捕获于
- 2024/09/26 15:56 去年
- 此快照最后确认于
- 2024/09/26 16:05 去年
rt,有4个点WA了
CPP#include <bits/stdc++.h>
using namespace std;
int n,m;
string s1,s2;
int dp[105][105];
int a1[105],a2[105];
int mp[6][6];
int main(){
for (int i=1;i<=5;i++){
mp[i][i]=5;
}
for (int i=2;i<5;i+=2){
mp[i][1]=-1;
mp[1][i]=-1;
}
mp[5][4]=-1;
mp[4][5]=-1;
mp[1][3]=-2;
mp[3][1]=-2;
mp[2][4]=-2;
mp[4][2]=-2;
mp[3][4]=-2;
mp[4][3]=-2;
mp[3][5]=-2;
mp[5][3]=-2;
mp[5][1]=-3;
mp[1][5]=-3;
mp[2][3]=-3;
mp[3][2]=-3;
mp[2][5]=-4;
mp[5][2]=-4;
cin>>n>>s1>>m>>s2;
s1=' '+s1;
s2=' '+s2;
for (int i=1;i<=n;i++){
if (s1[i]=='A') a1[i]=1;
if (s1[i]=='C') a1[i]=2;
if (s1[i]=='G') a1[i]=3;
if (s1[i]=='T') a1[i]=4;
}
for (int i=1;i<=m;i++){
if (s2[i]=='A') a2[i]=1;
if (s2[i]=='C') a2[i]=2;
if (s2[i]=='G') a2[i]=3;
if (s2[i]=='T') a2[i]=4;
}
memset(dp,-2147483648,sizeof(dp));
for (int i=1;i<=n;i++){
dp[i][0]=dp[i-1][0]+mp[a1[i]][5];
}
for (int i=1;i<=m;i++){
dp[0][i]=dp[0][i-1]+mp[5][a2[i]];
}
for (int i=1;i<=n;i++){
for (int j=1;j<=m;j++){
dp[i][j]=dp[i-1][j-1]+mp[a1[i]][a2[j]];
dp[i][j]=max(dp[i][j],max(dp[i-1][j]+mp[a1[i]][5],dp[i][j-1]+mp[5][a2[i]]));
}
}
cout<<dp[n][m]<<endl;
return 0;
}
回复
共 0 条回复,欢迎继续交流。
正在加载回复...