• bzoj1622 / P2908 [USACO08OPEN]文字的力量Word Power


    P2908 [USACO08OPEN]文字的力量Word Power

    第一眼:AC自动机(大雾)

    直接暴力枚举即可。

    用<cctype>的函数较方便(还挺快)

    $isalpha(a)$:$a$是否是字母

    $tolower(a)$:$a$把a转成小写

     1 #include<iostream>
     2 #include<cstdio>
     3 #include<cstring>
     4 #include<cctype>
     5 #define re register
     6 using namespace std;
     7 char a[1003][1003],b[103][33];
     8 int n,m,ans,c[103],lena[1003],lenb[103];
     9 int main(){
    10     scanf("%d%d",&n,&m);
    11     for(re int i=1;i<=n;++i){
    12         char c=getchar();
    13         while(!isalpha(c)) c=getchar();
    14         while(isalpha(c)) a[i][lena[i]++]=tolower(c),c=getchar();
    15     }
    16     for(re int i=1;i<=m;++i){
    17         char c=getchar();
    18         while(!isalpha(c)) c=getchar();
    19         while(isalpha(c)) b[i][lenb[i]++]=tolower(c),c=getchar();
    20     }
    21 //----读入字符串-------
    22     for(re int i=1;i<=n;++i){
    23         memset(c,0,sizeof(c)); ans=0;
    24         for(re int j=0;j<lena[i];++j){
    25             for(re int k=1;k<=m;++k){
    26                 if(c[k]==-1) continue;
    27                 if(b[k][c[k]]==a[i][j]) ++c[k];
    28                 if(c[k]==lenb[k]) ++ans,c[k]=-1;//这个子串的字母全出现过了
    29             }
    30         }printf("%d
    ",ans);
    31     }return 0;
    32 }
    View Code
  • 相关阅读:
    es6
    vue-router
    vue-lazyload
    java-number2
    echart事件
    weui了解
    java-number
    Java判断语句
    java 循环控制
    The access type for the readers of the blog.
  • 原文地址:https://www.cnblogs.com/kafuuchino/p/9862338.html
Copyright © 2020-2023  润新知