Submission #384263

#TimeUsernameProblemLanguageResultExecution timeMemory
384263AdiZer0Zamjena (COCI18_zamjena)C++17
0 / 70
12 ms4460 KiB
#include <bits/stdc++.h>

#define pb push_back
#define whole(x) x.begin(), x.end()
#define sz(x) (int)x.size()

using namespace std;

typedef long long ll;
typedef long double ld;

const int N = (int)5e4 + 7;
const int INF = (int)1e9 + 7;
const ll linf = (ll)1e18 + 1;
 
string a[N], b[N];
map<string, set<string>> st;

bool ok(string str) { 
    if (sz(st[str]) < 2) return true;
    return false;
}

int main() {  
    int n; cin >> n;
    for (int i = 1; i <= n; ++i) cin >> a[i];
    for (int i = 1; i <= n; ++i) cin >> b[i];
    set<string> all;
    for (int i = 1; i <= n; ++i) { 
        if ('a' <= a[i][0] && a[i][0] <= 'z') { 
            all.insert(a[i]);
            if ('a' <= b[i][0] && b[i][0] <= 'z') continue;
            st[a[i]].insert(b[i]);
        }
        if ('a' <= b[i][0] && b[i][0] <= 'z') { 
            all.insert(a[i]);
            if ('a' <= a[i][0] && a[i][0] <= 'z') continue;
            st[b[i]].insert(a[i]); 
        }
    }
    for (auto to : all) {
        if (!ok(to)) return cout << "NE\n", 0;
    }
    cout << "DA\n";
    return 0;
}
#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...