zoukankan      html  css  js  c++  java
  • uva 6959 Judging hash

    Judging

    Time Limit: 20 Sec  Memory Limit: 256 MB

    题目连接

    http://acm.hust.edu.cn/vjudge/problem/viewProblem.action?id=114147

    Description

    The NWERC organisers have decided that they want to improve the automatic grading of the submissions for the contest, so they now use two systems: DOMjudge and Kattis. Each submission is judged by both systems and the grading results are compared to make sure that the systems agree. However, something went wrong in setting up the connection between the systems, and now the jury only knows all results of both systems, but not which result belongs to which submission! You are therefore asked to help them figure out how many results could have been consistent.

    Input

    The input consists of:

        one line with one integer n (1≤n≤105), the number of submissions;
        n lines, each with a result of the judging by DOMjudge, in arbitrary order;
        n lines, each with a result of the judging by Kattis, in arbitrary order.

    Each result is a string of length between 5 and 15 characters (inclusive) consisting of lowercase letters.


    Output

    Output one line with the maximum number of judging results that could have been the same for both systems.

    Sample Input

    5
    correct
    wronganswer
    correct
    correct
    timelimit
    wronganswer
    correct
    timelimit
    correct
    timelimit

    Sample Output

    4

    HINT

    题意

    有两个机器,每个机器都会返回n个串,然后问你有多少个串是在两个地方都出现过

    题解:

    双hash一下,然后用map存一下,然后搞一搞就好了……

    代码:

    //qscqesze
    #include <cstdio>
    #include <cmath>
    #include <cstring>
    #include <ctime>
    #include <iostream>
    #include <algorithm>
    #include <set>
    #include <vector>
    #include <sstream>
    #include <queue>
    #include <typeinfo>
    #include <fstream>
    #include <map>
    #include <stack>
    typedef long long ll;
    using namespace std;
    //freopen("D.in","r",stdin);
    //freopen("D.out","w",stdout);
    #define sspeed ios_base::sync_with_stdio(0);cin.tie(0)
    #define maxn 200001
    #define mod 10007
    #define eps 1e-9
    int Num;
    char CH[20];
    //const int inf=0x7fffffff;   //нчоч╢С
    const int inf=0x3f3f3f3f;
    /*
    
    inline void P(int x)
    {
        Num=0;if(!x){putchar('0');puts("");return;}
        while(x>0)CH[++Num]=x%10,x/=10;
        while(Num)putchar(CH[Num--]+48);
        puts("");
    }
    */
    inline ll read()
    {
        int x=0,f=1;char ch=getchar();
        while(ch<'0'||ch>'9'){if(ch=='-')f=-1;ch=getchar();}
        while(ch>='0'&&ch<='9'){x=x*10+ch-'0';ch=getchar();}
        return x*f;
    }
    inline void P(int x)
    {
        Num=0;if(!x){putchar('0');puts("");return;}
        while(x>0)CH[++Num]=x%10,x/=10;
        while(Num)putchar(CH[Num--]+48);
        puts("");
    }
    //**************************************************************************************
    
    int get_hash(char *key)
    {
        ll N=1998585857;
        long long h=0;
        while(*key)
            h=(h*127+(*key++)+N)%N;
        return h%N;
    }
    int get_hash2(char *key)
    {
        ll N=127398127;
        long long h=0;
        while(*key)
            h=(h*127+(*key++)+N)%N;
        return h%N;
    }
    char s[20];
    map< pair<int,int> ,int>H;
    int main()
    {
        int n=read();
        for(int i=0;i<n;i++)
        {
            scanf("%s",s);
            pair<int,int> a;
            a.first=get_hash(s);
            a.second=get_hash2(s);
            H[a]++;
        }
        int ans=0;
        for(int i=0;i<n;i++)
        {
            scanf("%s",s);
            pair<int,int> a;
            a.first=get_hash(s);
            a.second=get_hash2(s);
            if(H[a])
            {
                ans++;
                H[a]--;
            }
        }
        printf("%d
    ",ans);
    }
  • 相关阅读:
    Reverse题的tips
    电子公文传输系统 团队作业(五):冲刺总结(第三天)
    webrtc sdp(会话传输协议)详解
    CentOS新系统开启网络
    FreeSWITCH Cookbook
    NetEngine AR V300R019 配置指南-IP业务(命令行)—— NAT
    将md(markdown)文件导出成pdf的最简单办法
    liblinear
    Accelerometer, Gyroscope, and Magnetometer Analysis with Matplotlib
    svmlight
  • 原文地址:https://www.cnblogs.com/qscqesze/p/4510344.html
Copyright © 2011-2022 走看看