zoukankan      html  css  js  c++  java
  • hdu4323Magic Number(dp)

    http://acm.hdu.edu.cn/showproblem.php?pid=4323

    去年的多校 编辑距离的变形 暴力居然过了 还想了好久别的方法,想得很头疼

     1 #include <iostream>
     2 #include<cstdio>
     3 #include<cstring>
     4 #include<algorithm>
     5 #include<stdlib.h>
     6 using namespace std;
     7 int dp[12][12],kk[1510],num[1010];
     8 char s[1510][12],ss[12];
     9 int main()
    10 {
    11     int i,j,k,n,m,t,a,b,o=0,g;
    12     scanf("%d",&t);
    13     while(t--)
    14     {
    15         o++;
    16         scanf("%d%d",&n,&m);
    17         for(i = 1; i <= n ;i++)
    18         {
    19             scanf("%s",s[i]);
    20             kk[i] = strlen(s[i]);
    21         }
    22         for(i = 1 ; i <= m ; i++)
    23         {
    24             scanf("%s %d",ss,&g);
    25             num[i]=0;
    26             k = strlen(ss);
    27             for(j = 1; j <=  n ; j++)
    28             {
    29                 if(abs(k-kk[j])>g)
    30                 continue;
    31                 int f=1;
    32                 memset(dp,0,sizeof(dp));
    33                 for(a = 1 ; a <= k ; a++)
    34                 dp[a][0] = a;
    35                 for(b = 1 ; b <= kk[j] ; b++)
    36                 dp[0][b] = b;
    37                 for(a = 1 ; a <= k ; a++)
    38                     for(b = 1 ; b <= kk[j] ; b++)
    39                     {
    40                         if(ss[a-1]==s[j][b-1])
    41                         dp[a][b] = dp[a-1][b-1];
    42                         else
    43                         dp[a][b] = dp[a-1][b-1]+1;
    44                         dp[a][b] = min(dp[a][b],min(dp[a][b-1]+1,dp[a-1][b]+1));
    45                     }
    46                 if(dp[k][kk[j]]<=g)
    47                 num[i]++;
    48             }
    49         }
    50         printf("Case #%d:
    ",o);
    51         for(i = 1; i <= m ; i++)
    52         printf("%d
    ",num[i]);
    53     }
    54     return 0;
    55 }
    View Code
  • 相关阅读:
    移动app测试
    centos7中tomcat安装步骤
    linux下搭建数据库
    Linux 学习笔记
    vi编辑器 使用表
    python-Xml 实战
    python-Excel 实战
    手写HashMap
    volatile关键字解析
    两个栈实现队列——优化版
  • 原文地址:https://www.cnblogs.com/shangyu/p/3253717.html
Copyright © 2011-2022 走看看