제출 #92176

#제출 시각아이디문제언어결과실행 시간메모리
92176KastandaZamjena (COCI18_zamjena)C++11
70 / 70
139 ms7672 KiB
#include<bits/stdc++.h>
using namespace std;
const int N = 50005;
int n, ts, P[N + N], C[N + N];
string A[N], B[N];
map < string , int > M;
int Find(int v)
{
    return (P[v] ? (P[v] = Find(P[v])) : v);
}
int main()
{
    ios::sync_with_stdio(0);
    cin.tie(0); cin >> n;
    for (int i = 1; i <= n; i++)
    {
        cin >> A[i];
        if (!M.count(A[i]))
            M[A[i]] = ++ ts;
    }
    for (int i = 1; i <= n; i++)
    {
        cin >> B[i];
        if (!M.count(B[i]))
            M[B[i]] = ++ ts;
        if (Find(M[A[i]]) != Find(M[B[i]]))
            P[Find(M[A[i]])] = Find(M[B[i]]);
    }
    for (auto X : M)
        if (X.first[0] <= '9')
            C[Find(X.second)] ++;
    for (int i = 1; i <= ts; i++)
        if (C[i] >= 2)
            return !printf("NE\n");
    return !printf("DA\n");
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...