• cogs 1176. [郑州101中学] 月考


    1176. [郑州101中学] 月考

    ★   输入文件:mtest.in   输出文件:mtest.out   简单对比
    时间限制:1 s   内存限制:128 MB

    【题目描述】

    在上次的月考中Bugall同学违反了考场纪律还吃了处分,更可气的是在第二天的校会时
     间学校就此事做了全校通报. 现已知在当天校会时间有总共N个同学听到了有关Bugall的处分决定.
     
     Bugall同学在铁一有M个朋友,这M个人中有的可能听到了当天的处分决定,有的可能没
     有听到,现在Bugall同学想知道他有几个朋友听到了当天的处分通报.

    【输入格式】

    第一行为一个整数N,从第2行到N+1行,每行用一个长度不超过200的字符串表示
     一个人的名字.
      第N+2行为一个整数M,从第N+3行到N+M+2行,每行用一个长度不超过200的字符
     串表示Bugall同学一个朋友的名字.

    【输出格式】

    输出有几个Bugall同学的铁一朋友在当天的校会时间听到了Bugall处分通报.保证不重名。

    【样例输入】

    3
    Dazui
    Erge
    Dapigu
    2
    Varpro
    Erge
    

    【样例输出】

    1

    #include<iostream>
    #include<cstdio>
    #include<cstring>
    #include<cstdlib>
    using namespace std;
    #define Mod 1000003
    #define mod 1000000007
    int n,m,head[1000010],num,ans;
    struct node{
        int to,pre;
    }e[100100];
    char c[250];
    void add(int from,int to){
        e[++num].to=to;
        e[num].pre=head[from];
        head[from]=num;
    }
    bool check(int from,int x){
        for(int i=head[from];i;i=e[i].pre){
            if(e[i].to==x)return 1;
        }return 0;
    }
    int main(){
        freopen("mtest.in","r",stdin);
        freopen("mtest.out","w",stdout);
        scanf("%d",&n);
        for(int i=1;i<=n;i++){
            scanf("%s",c);
            int len=strlen(c);
            long long haxi=1,ha2=1;
            for(int j=0;j<len;j++)haxi=(haxi*233+c[j])%mod;
            for(int j=0;j<len;j++) ha2=(ha2*29+c[j])%Mod;
            add(ha2,haxi);
        }
        scanf("%d",&m);
        for(int i=1;i<=m;i++){
            scanf("%s",c);
            int len=strlen(c);
            long long haxi=1,ha2=1;
            for(int j=0;j<len;j++)haxi=(haxi*233+c[j])%mod;
            for(int j=0;j<len;j++) ha2=(ha2*29+c[j])%Mod;
            if(check(ha2,haxi))ans++;
        }
        printf("%d",ans);
    }
  • 相关阅读:
    势函数的构造
    10.29模拟赛总结
    10.29vp总结
    10.25模拟赛总结
    10.24模拟赛总结
    线段树练习
    一键挖矿
    P1972 [SDOI2009]HH的项链
    P3901 数列找不同
    P5546 [POI2000]公共串
  • 原文地址:https://www.cnblogs.com/thmyl/p/7197123.html
Copyright © 2020-2023  润新知