zoukankan      html  css  js  c++  java
  • (。・`ω´・)智能手机

    (。・`ω´・)智能手机

    TimeLimit: 2000/1000 MS (Java/Others)  MenoryLimit: 32768/32768 K (Java/Others)
    64-bit integer IO format:%I64d
     
    Problem Description
    在大家都有手机的今天。我们必须熟悉手机上的智能英文输入法。具体地讲,数字按钮可对应于英文字母分别如下所示: 
      2 : a, b, c    3 : d, e, f    4 : g, h, i    5 : j, k, l    6 : m, n, o     
      7 : p, q, r, s  8 : t, u, v    9 : w, x, y, z 
    当我们想输入字符串“ming”,我们需要按下数字键 9, 4, 6, 4,然后输入法会手机字典中选择,所有符合拼音的单词。 
    现在,问题来了,给你N组数字键的按键顺序,以及M组字符串,根据每一组的数字键的按键顺序,可以拼凑出多少个单词、
    Input
      第一行输入T,表示有T组测试案例,每组测试案例按照下述操作进行: 
      第一行输入两个整数r N (1 <= N <= 5000),和M (1 <= M <= 5000),表示有N组数字键的按键顺序和M组字符串。 
      接下来有N行,每一行输入不超过6位数的数字,表示一组按键顺序。 
      再下来有M行,每一行输入一串不超过6个字符的字符串。  
    Output
       每组测试案例,根据所给的按键顺序,在M个字符串中,统计能够形成多少个匹配的字符串、 
    SampleInput

    1
    3 4
    46
    64448
    74
    ho
    oight
    mihgt
    go
    SampleOutput
    2
    2
    0

    代码(映射一下就好了,简单哈希):
     1 #include<stdio.h>
     2 #include<algorithm>
     3 #include<string.h>
     4 using namespace std;
     5 #define Max 1008611
     6 int Sign[Max];
     7 int To[26]={2,2,2,3,3,3,4,4,4,5,5,5,6,6,6,7,7,7,7,8,8,8,9,9,9,9};
     8 int Deal(char str[])
     9 {
    10     int i,Sum=0,Len=strlen(str);
    11     for(i=0;i<Len;i++)
    12     {
    13         Sum=Sum*10+To[str[i]-'a'];
    14     }
    15     return Sum;
    16 }
    17 int main()
    18 {
    19     int T,N,M,i,j;
    20     int Num[5117];
    21     char Str[5117];
    22     scanf("%d",&T);
    23     while(T--)
    24     {
    25         memset(Sign,0,sizeof(Sign));
    26         scanf("%d%d",&N,&M);
    27         for(i=0;i<N;i++)
    28         {
    29             scanf("%d",&Num[i]);
    30         }
    31         for(i=0;i<M;i++)
    32         {
    33             scanf(" %s",Str);
    34             Sign[Deal(Str)]++;
    35         }
    36         for(i=0;i<N;i++)
    37         {
    38             printf("%d
    ",Sign[Num[i]]);
    39         }
    40     }
    41     return 0;
    42 }
    View Code
    转载请备注:
    **************************************
    * 作者: Wurq
    * 博客: https://www.cnblogs.com/Wurq/
    * Gitee: https://gitee.com/wurq
    **************************************
  • 相关阅读:
    【硬件】交换机与路由器概述
    【网络】IP地址,子网掩码,网段表示法,默认网关,DNS服务器详解
    【网络】网桥
    【归档】Mysql大表归档
    【锁】Innodb锁
    【磁盘】顺序IO比随机IO快
    【硬盘】RAID卡
    【基础】占用空间大小(数据页、线程)
    【SQL】ON DUPLICATE KEY UPDATE
    【基础】Hint控制语句执行
  • 原文地址:https://www.cnblogs.com/Wurq/p/4693303.html
Copyright © 2011-2022 走看看