zoukankan      html  css  js  c++  java
  • BZOJ——1622: [Usaco2008 Open]Word Power 名字的能量

    http://www.lydsy.com/JudgeOnline/problem.php?id=1622

    Description

        约翰想要计算他那N(1≤N≤1000)只奶牛的名字的能量.每只奶牛的名字由不超过1000个字待构成,没有一个名字是空字体串,  约翰有一张“能量字符串表”,上面有M(1≤M≤100)个代表能量的字符串.每个字符串由不超过30个字体构成,同样不存在空字符串.一个奶牛的名字蕴含多少个能量字符串,这个名字就有多少能量.所谓“蕴含”,是指某个能量字符串的所有字符都在名字串中按顺序出现(不一定一个紧接着一个).
        所有的大写字母和小写字母都是等价的.比如,在贝茜的名字“Bessie”里,蕴含有“Be”
    “sI”“EE”以及“Es”等等字符串,但不蕴含“lS”或“eB”.请帮约翰计算他的奶牛的名字的能量.

    Input

        第1行输入两个整数N和M,之后N行每行输入一个奶牛的名字,之后M行每行输入一个能量字符串.

    Output

     
        一共N行,每行一个整数,依次表示一个名字的能量.

    Sample Input

    5 3
    Bessie
    Jonathan
    Montgomery
    Alicia
    Angola
    se
    nGo
    Ont

    INPUT DETAILS:

    There are 5 cows, and their names are "Bessie", "Jonathan",
    "Montgomery", "Alicia", and "Angola". The 3 good strings are "se",
    "nGo", and "Ont".



    Sample Output

    1
    1
    2
    0
    1

    OUTPUT DETAILS:

    "Bessie" contains "se", "Jonathan" contains "Ont", "Montgomery" contains
    both "nGo" and "Ont", Alicia contains none of the good strings, and
    "Angola" contains "nGo".

    HINT

     

    Source

    Silver

     1 #include <cstring>
     2 #include <cstdio>
     3 
     4 const int N(1005);
     5 char name[N][N];
     6 int n,m,ans[N];
     7 
     8 inline void Get(char *s)
     9 {
    10     int len=strlen(s);
    11     for(int i=0; i<n; ++i)
    12     {
    13         int k=0,L=strlen(name[i]);
    14         for(int j=0; j<L; ++j)
    15         {
    16             if((name[i][j]-s[k]==32)||name[i][j]==s[k]||
    17                (s[k]-name[i][j]==32)) k++;
    18             if(k==len) { ans[i]++; break; }
    19         }
    20     }
    21 }
    22 
    23 int Presist()
    24 {
    25     scanf("%d%d",&n,&m);
    26     for(int i=0; i<n; ++i)
    27         scanf("%s",name[i]);
    28     for(char s[N]; m--; )
    29         scanf("%s",s),Get(s);
    30     for(int i=0; i<n; ++i)
    31         printf("%d
    ",ans[i]);
    32     return 0;
    33 }
    34 
    35 int Aptal=Presist();
    36 int main(int argc,char**argv){;}
    ——每当你想要放弃的时候,就想想是为了什么才一路坚持到现在。
  • 相关阅读:
    My97DatePicker使用说明文档
    内存溢出之Tomcat内存配置
    myeclipse控制台不显示tomcat信息
    修改 MyEclipse 编辑区域背景颜色
    window.open() 弹出窗体居中
    javascript控制页面控件隐藏显示的两种方法
    (转)MyEclipse7.5.0版注册码破解及激活操作
    [置顶] Android代码读取 android 设备的电池信息
    [置顶] Android代码获得我们手机的cpu序列号
    [置顶] Android高手进阶教程Android常用名令集锦(图文并茂)!
  • 原文地址:https://www.cnblogs.com/Shy-key/p/7846681.html
Copyright © 2011-2022 走看看