Cod sursa(job #1783023)

Utilizator liviu23Liviu Andrei liviu23 Data 18 octombrie 2016 18:21:02
Problema Dtcsu Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.87 kb
#include <stdio.h>
#include <string.h>
#include <vector>
#define ll long long
#define M 276997
using namespace std;

struct SNum {
    char s[25];
};

vector<SNum> v[M];

bool findNum(ll i,SNum sn) {
    for(int j=0;j<v[i].size();j++)
        if(strcmp(v[i][j].s,sn.s)==0)
            return true;
    return false;
}

ll getNum(SNum sn) {
    ll x=0;
    for(int i=0;sn.s[i];i++)
        x=x*10+(sn.s[i]-'0');
    return x;
}

int main()
{
    freopen("dtcsu.in","r",stdin);
    freopen("dtcsu.out","w",stdout);
    int n,sol=0;
    SNum sn;
    for(int i=0;i<M;i++) {
        fgets(sn.s,25,stdin);
        v[getNum(sn)%M].push_back(sn);
    }
    fgets(sn.s,25,stdin);
    n=getNum(sn);
    for(int i=0;i<n;i++) {
        fgets(sn.s,25,stdin);
        if(findNum(getNum(sn)%M,sn))
            sol++;
    }
    printf("%d",sol);
    return 0;
}