zoukankan      html  css  js  c++  java
  • codevs2875RY哥查字典

    题目链接:http://codevs.cn/problem/2875/

    题目描述 Description

        RY哥最近新买了一本字典,他十分高兴,因为这上面的单词都十分的和谐,他天天查字典。

    输入描述 Input Description

    1个整数N,表示字典里面的单词数量。

    接下来N行,每行一个字符串,表示一个单词。

    然后第N+2行,一个整数M,表示要查的单词数。

    接下来M行,每行一个字符串,表示一个要查的单词。

    输出描述 Output Description

    对于每一个要查的单词,如果在字典里面,就输出’Yes’,否则输出’No’,一行一个。

    样例输入 Sample Input

    2

    i

    you

    1

    love

    样例输出 Sample Output

    No

    数据范围及提示 Data Size & Hint

    1<N<10000

    1<M<100

    每个单词的长度[1..100]

    保证都是小写字母。

    题解

    hash题,只要强行模拟即可。

    #include<cstdio>
    #include <cstring>
    #define mod 1000007
    using namespace std;
    int i,j,k,n,m,x,y,t;
    bool mp[1000007];
    char s[5001];
    int gethash(char s[]){
        int key=0;
        for (int i=0;i<strlen(s);i++)key=(key*29+s[i])%mod;
        return (key%mod);
    }
    int main(){
        scanf("%d
    ",&n);
        for (i=1;i<=n;i++){gets(s);mp[gethash(s)]=1;}
        scanf("%d
    ",&m);
        for (i=1;i<=m;i++){
            gets(s);
            if (mp[gethash(s)]) printf("Yes
    ");else printf("No
    ");
        }
    }

    stl乱搞也行。。

    #include <map>
    #include<cstdio>
    #include <string>
    #include <cstring>
    #include <iostream>
    #define mod 1000007
    using namespace std;
    int i,j,k,n,m,x,y,t;
    bool mp[1000007];
    string s;
    map<string,int>Map;
    int main(){
        scanf("%d
    ",&n);
        for (i=1;i<=n;i++){cin>>s;Map[s]=1;}
        scanf("%d
    ",&m);
        for (i=1;i<=m;i++){
            cin>>s;
            if (Map[s]) printf("Yes
    ");else printf("No
    ");
        }
    }
  • 相关阅读:
    C#学习笔记---基础入门(二)
    微软Hololens设备 浅分析
    phpstorm 破解方法
    iOS 审核被拒,日志中找不到苹果返回的creashlog的解决办法
    flutter学习之添加第三方应用
    MAC flutter初步学习
    python Django 连接数据库失败的解决方法
    Python之学习菜鸟教程踩的坑
    Python学习之环境搭建
    tableView reload 不闪动方法
  • 原文地址:https://www.cnblogs.com/Acheing/p/6786436.html
Copyright © 2011-2022 走看看