이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
#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 time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict | Execution time | Memory | Grader output | 
|---|
| Fetching results... |