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);
    }
  • 相关阅读:
    python网页内容提取神器lxml
    tf–idf算法解释及其python代码
    刷搜索刷下拉框原理
    python爬取全站壁纸代码
    刷百度相关搜索发包参数详解
    Python3 if 变量variable SQL where 语句拼接
    python抓取网站提示错误ssl.SSLCertVerificationError处理
    Windows中的txt文件到Mac打开是乱码 解决办法
    python移动目录下所有子目录文件到新的总目录
    Spring Boot
  • 原文地址:https://www.cnblogs.com/qscqesze/p/4510344.html
Copyright © 2011-2022 走看看