zoukankan      html  css  js  c++  java
  • POJ1080(Human Gene Functions)

    题目链接

    动态规划题,LCS的变形。无语了,写错两个字母,WA了3次啊!

    #include <stdio.h>
    #include <string.h>
    #define MAX(a,b) ((a)>(b)?(a):(b))
    #define N 105
    int m[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,-10000
    };
    char a[N],b[N],vis[N][N],la,lb;
    int c[N][N];
    int f(int x,int y)
    {
        int i,tmp,max;
        if(x==0)
        {
            for(i=0,tmp=0;i<y;i++)  tmp+=m[b[i]][4];  //此处的i写成了y
            return c[x][y]=tmp;
        }
        if(y==0)
        {
            for(i=0,tmp=0;i<x;i++)  tmp+=m[a[i]][4];  //此处的i写成了x
            return c[x][y]=tmp;
        }
        if(vis[x][y])   return c[x][y];
        max=m[a[x-1]][b[y-1]]+f(x-1,y-1);
        max=MAX(max,m[a[x-1]][4]+f(x-1,y));
        max=MAX(max,m[b[y-1]][4]+f(x,y-1));
        vis[x][y]=1;
        return c[x][y]=max;
    }
    int main()
    {
        int t,i,n;
        scanf("%d",&t);
        while(t--)
        {
            scanf("%d%s",&la,a);
            for(i=0;i<la;i++)
            {
                switch(a[i])
                {
                    case 'A':   a[i]=0;break;
                    case 'C':   a[i]=1;break;
                    case 'G':   a[i]=2;break;
                    case 'T':   a[i]=3;break;
                    default:    a[i]=4;break;
                }
            }
            scanf("%d%s",&lb,b);
            for(i=0;i<lb;i++)
            {
                switch(b[i])
                {
                    case 'A':   b[i]=0;break;
                    case 'C':   b[i]=1;break;
                    case 'G':   b[i]=2;break;
                    case 'T':   b[i]=3;break;
                    default:    b[i]=4;break;
                }
            }
            memset(vis,0,sizeof(vis));
            printf("%d\n",f(la,lb));
        }
        return 0;
    }
    
  • 相关阅读:
    随时积累随手记(持续更新...)
    Zookeeper集群搭建
    Dubbo——基于Zookeeper服务框架搭建及案例演示
    nginx配置浅析
    阿里面试回来,想和Java程序员谈一谈
    博客收藏列表
    启示录:打造用户喜爱的产品
    js深拷贝和浅拷贝
    MyBatis 总结记录
    ActiveMQ初体验
  • 原文地址:https://www.cnblogs.com/algorithms/p/2437146.html
Copyright © 2011-2022 走看看