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
    ");
        }
    }
  • 相关阅读:
    Integer vs int
    j2ee gradle构建
    ubuntu16.04更新node.js
    阿里云centos7服务器
    使用jdbc给一张表增加多行字段
    安装mysql后,java使用jdbc连接mysql数据库
    关于异常try{}catch(){}
    计算机基础单位
    java mongodb 增删改查 工具类
    java 操作mongodb查询条件的常用设置
  • 原文地址:https://www.cnblogs.com/Acheing/p/6786436.html
Copyright © 2011-2022 走看看