Submission #721260

# Submission time Handle Problem Language Result Execution time Memory
721260 2023-04-10T14:56:00 Z vjudge1 Zamjena (COCI18_zamjena) C++17
70 / 70
594 ms 8816 KB
#include <bits/stdc++.h>

using namespace std;

bool is_str(string s){
   if(s[0] - '0' > 9){
      return true;
   }
   return false;
}

int main()
{
    ios_base::sync_with_stdio(0); cin.tie(0);

    int n; cin >> n;

    vector<string> v1(n);
    map<string, string> mp;
    int cnt = 0;
    for(int i = 0; i < n; i++){
        cin >> v1[i];
        if(mp[v1[i]] != "-1"){
            cnt++;
        }
        mp[v1[i]] = "-1";

    }
    vector<string> v2(n);
    for(int i = 0; i < n; i++){
        cin >> v2[i];
        if(mp[v2[i]] != "-1"){
            cnt++;
        }
        mp[v2[i]] = "-1";
    }
    bool XD = false;
    while(XD == false){
        int cnt = 0;
        for(int i = 0; i < n; i++){
            if(!is_str(v1[i]) && !is_str(v2[i]) && v1[i] != v2[i]){
                cout << "NE" <<"\n";
                return 0;
            }
            if(!is_str(v1[i]) && is_str(v2[i])){
                cnt++;
                if(mp[v2[i]] == "-1"){
                   mp[v2[i]] = v1[i];
                }
            }
            if(is_str(v1[i]) && !is_str(v2[i])){
                cnt++;
                if(mp[v1[i]] == "-1"){
                   mp[v1[i]] = v2[i];
                }
            }
        }
        if(cnt == 0){
            XD = true;
        }
        for(int i = 0; i < n; i++){
            if(mp[v1[i]] != "-1"){
                v1[i] = mp[v1[i]];
            }
            if(mp[v2[i]] != "-1"){
                v2[i] = mp[v2[i]];
            }
        }

    }
    for(int i = 0; i < n; i++){
        if(is_str(v1[i]) && is_str(v2[i])){
            continue;
        }
        if(v1[i] != v2[i]){
            cout << "NE" <<"\n";
            return 0;
        }
    }

    cout << "DA" <<"\n";



/*
3
3 1 2
3 1 x

4
4 5 iks ipsilon
1 iks 3 iks

5
x 3 x y 3
x y 2 z 3




5
y 3 x z 4
z x y 2 4



*/

}
# Verdict Execution time Memory Grader output
1 Correct 0 ms 212 KB Output is correct
2 Correct 1 ms 212 KB Output is correct
3 Correct 1 ms 212 KB Output is correct
4 Correct 0 ms 212 KB Output is correct
5 Correct 0 ms 212 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 212 KB Output is correct
2 Correct 0 ms 212 KB Output is correct
3 Correct 0 ms 212 KB Output is correct
4 Correct 0 ms 212 KB Output is correct
5 Correct 0 ms 212 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 0 ms 212 KB Output is correct
2 Correct 0 ms 212 KB Output is correct
3 Correct 0 ms 212 KB Output is correct
4 Correct 1 ms 212 KB Output is correct
5 Correct 0 ms 212 KB Output is correct
6 Correct 0 ms 212 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 4 ms 340 KB Output is correct
2 Correct 3 ms 340 KB Output is correct
3 Correct 7 ms 724 KB Output is correct
4 Correct 9 ms 724 KB Output is correct
5 Correct 12 ms 724 KB Output is correct
6 Correct 7 ms 724 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 23 ms 1492 KB Output is correct
2 Correct 104 ms 3240 KB Output is correct
3 Correct 86 ms 5060 KB Output is correct
4 Correct 83 ms 6020 KB Output is correct
5 Correct 594 ms 8816 KB Output is correct
6 Correct 204 ms 6092 KB Output is correct