답안 #627414

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
627414 2022-08-12T14:42:53 Z Farhan_HY Zamjena (COCI18_zamjena) C++14
28 / 70
43 ms 64120 KB
#include <bits/stdc++.h>
#define int long long
#define float double
#define pb push_back
#define F first
#define S second
#define T int t; cin >> t; while(t--)
#define IOS ios::sync_with_stdio(0); cin.tie(0); cout.tie(0);

using namespace std;
/// Benzema is the best player in the world
const int inf = 8e18;
const int N = 1e6 + 6;
const int M = 1e3 + 3;
const int LOG = 31;
const int mod = 1e9 + 7;
const float pi = atan(1) * 4;
string a[N], b[N];
int n;
map<string, string> mp;
vector<pair<string, string>> v;

bool num(string s)
{
    bool ok = 1;
    for(auto x: s)
        ok &= x >= '0' && x <= '9';
    return ok;
}

main()
{
    IOS
    cin >> n;
    for(int i = 1; i <= n; i++)
        cin >> a[i];
    for(int i = 1; i <= n; i++)
        cin >> b[i];
    bool ans = 1;
    for(int i = 1; i <= n; i++)
    {
        bool A = num(a[i]);
        bool B = num(b[i]);
        if (A) mp[a[i]] = a[i];
        if (B) mp[b[i]] = b[i];
        if (A && B)
            ans &= a[i] == b[i];
        else if (A && !B)
        {
            if (mp.count(b[i]))
                ans &= mp[b[i]] == a[i];
            else
                mp[b[i]] = a[i];
        }
        else if (!A && B)
        {
            if (mp.count(a[i]))
                ans &= mp[a[i]] == b[i];
            else
                mp[a[i]] = b[i];
        }
        else if (mp.count(a[i]) && !mp.count(b[i]))
            mp[b[i]] = mp[a[i]];
        else if (!mp.count(a[i]) && mp.count(b[i]))
            mp[a[i]] = mp[b[i]];
        else if (!mp.count(a[i]) && !mp.count(b[i]))
            v.pb({a[i], b[i]});
    }
    for(auto x: v)
    {
        string A = mp[x.F];
        string B = mp[x.S];
        if (B.size() == 0) B = A;
        if (A.size() == 0) A = B;
        ans &= A == B;
    }
    if (ans) cout << "DA";
    else cout << "NE";
}
///use scanf

Compilation message

zamjena.cpp:31:1: warning: ISO C++ forbids declaration of 'main' with no type [-Wreturn-type]
   31 | main()
      | ^~~~
# 결과 실행 시간 메모리 Grader output
1 Correct 34 ms 62860 KB Output is correct
2 Correct 34 ms 62840 KB Output is correct
3 Correct 30 ms 62816 KB Output is correct
4 Correct 30 ms 62932 KB Output is correct
5 Correct 30 ms 62864 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 30 ms 62864 KB Output is correct
2 Correct 30 ms 62932 KB Output is correct
3 Correct 31 ms 62836 KB Output is correct
4 Correct 31 ms 62908 KB Output is correct
5 Correct 31 ms 62932 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 31 ms 62932 KB Output is correct
2 Correct 31 ms 62932 KB Output is correct
3 Correct 32 ms 62900 KB Output is correct
4 Correct 30 ms 62876 KB Output is correct
5 Correct 33 ms 62880 KB Output is correct
6 Incorrect 31 ms 62892 KB Output isn't correct
7 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 30 ms 62996 KB Output is correct
2 Correct 32 ms 63056 KB Output is correct
3 Incorrect 33 ms 63316 KB Output isn't correct
4 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 43 ms 64120 KB Output isn't correct
2 Halted 0 ms 0 KB -