• 【HDOJ】1243 反恐训练营


    LCS.

     1 /* 1243 */
     2 #include <cstdio>
     3 #include <cstring>
     4 #include <cstdlib>
     5 
     6 #define MAXN 2025
     7 #define MAXM 256
     8 
     9 char type[MAXM];
    10 int point[MAXM];
    11 
    12 char bullet[MAXN];
    13 char kbfz[MAXN];
    14 int dp[MAXN][MAXN];
    15 int  n;
    16 
    17 int min(int a, int b) {
    18     return a<b ? a:b;
    19 }
    20 
    21 int max(int a, int b) {
    22     return a>b ? a:b;
    23 }
    24 
    25 int abs(int x) {
    26     return x<0 ? -x:x;
    27 }
    28 
    29 int main() {
    30     int i, j, k;
    31     int l1, l2;
    32     
    33     #ifndef ONLINE_JUDGE
    34         freopen("data.in", "r", stdin);
    35     #endif
    36     
    37     while (scanf("%d", &n) != EOF) {
    38         memset(point, 0, sizeof(point));
    39         scanf("%s", type);
    40         for (i=0; i<n; ++i) {
    41             scanf("%d", &k);
    42             point[type[i]] = k;
    43         }
    44         scanf("%s", bullet+1);
    45         scanf("%s", kbfz+1);
    46         l1 = strlen(bullet+1);
    47         l2 = strlen(kbfz+1);
    48         for (i=0; i<=max(l1, l2); ++i) {
    49             dp[0][i] = 0;
    50             dp[i][0] = 0;
    51         }
    52         for (i=1; i<=l1; ++i) {
    53             for (j=1; j<=l2; ++j) {
    54                 if (bullet[i] == kbfz[j]) {
    55                     dp[i][j] = dp[i-1][j-1] + point[bullet[i]];
    56                 } else  {
    57                     k = max(dp[i-1][j], dp[i][j-1]);
    58                     dp[i][j] = max(k, dp[i-1][j-1]);
    59                 }
    60             }
    61         }
    62         printf("%d
    ", dp[l1][l2]);
    63     }
    64     
    65     return 0;
    66 }
  • 相关阅读:
    2014-5-28 技能
    Python的包管理工具Pip
    vi 命令 使用方法
    oracle实例名,数据库名,服务名等概念差别与联系
    自己动手写操作系统--个人实践
    D3DXMatrixMultiply 函数
    port大全及port关闭方法
    原型模式
    ExecuteScalar
    第三章_JSP
  • 原文地址:https://www.cnblogs.com/bombe1013/p/4197375.html
Copyright © 2020-2023  润新知