2 条题解

  • 0
    @ 2025-10-8 16:48:45
    #include <bits/stdc++.h>
    using namespace std;
    char s1[110], s2[110];
    int f[510][510];
    int a[5][5] = {
    {5, -1, -2, -1, -3},
    {-1, 5, -3, -2, -4},
    {-2, -3, 5, -2, -2},
    {-1, -2, -2, 5, -1},
    {-3, -4, -2, -1, 0}
    };
    int ys[150];
    int main()
    {
        int n1, n2, K;
        scanf("%d%s", &n1, s1 + 1);
        scanf("%d%s", &n2, s2 + 1);
        ys['A'] = 0; ys['C'] = 1; ys['G'] = 2; ys['T'] = 3; ys['-'] = 4;
        f[0][0] = 0;
        for(int i = 1; i <= n1; i++) f[i][0] = f[i-1][0] + a[ys[s1[i]]][4];
        for(int j = 1; j <= n2; j++) f[0][j] = f[0][j-1] + a[4][ys[s2[j]]];
         
        for(int i = 1; i <= n1; i++)
            for(int j = 1; j <= n2; j++)
            {
                f[i][j] = max(f[i][j-1] + a[4][ys[s2[j]]], f[i-1][j] + a[ys[s1[i]]][4]);
                f[i][j] = max(f[i][j], f[i-1][j-1] + a[ys[s1[i]]][ys[s2[j]]]);
            }
         
        printf("%d\n", f[n1][n2]); 
        return 0;
    }
    
    • 0
      @ 2025-10-8 16:48:34
      #include<bits/stdc++.h>
      using namespace std;
      char s1[110],s2[110];
      int f[510][510];
      int a[5][5]=
      {
      {5,-1,-2,-1,-3},
      {-1,5,-3,-2,-4},
      {-2,-3,5,-2,-2},
      {-1,-2,-2,5,-1},
      {-3,-4,-2,-1,0}
      }
      ;
      int ys[150];
      int main()
      {
          int n1,n2,K;
          scanf("%d%s",&n1,s1+1);
          scanf("%d%s",&n2,s2+1);
          ys['A']=0;ys['C']=1;ys['G']=2;ys['T']=3;ys['-']=4;
          f[0][0]=0;
          for(int i=1;i<=n1;i++)f[i][0]=f[i-1][0]+a[ys[s1[i]]][4];
          for(int j=1;j<=n2;j++)f[0][j]=f[0][j-1]+a[4][ys[s2[j]]];
           
          for(int i=1; i<=n1;i++)
              for(int j=1;j<=n2;j++)
              {
                  f[i][j]=max(f[i][j-1]+a[4][ys[s2[j]]],f[i-1][j]+a[ys[s1[i]]][4]);
                  f[i][j]=max(f[i][j],f[i-1][j-1]+a[ys[s1[i]]][ys[s2[j]]]);
              }
           
          printf("%d\n",f[n1][n2]); 
          return 0;
      }
      • 1

      *【动态规划:区间二维一边推】相似基因

      信息

      ID
      155
      时间
      1000ms
      内存
      128MiB
      难度
      2
      标签
      递交数
      69
      已通过
      44
      上传者