답안 #630801

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
630801 2022-08-17T06:16:56 Z Farhan_HY Zamjena (COCI18_zamjena) C++14
70 / 70
183 ms 20880 KB
    #include <bits/stdc++.h>
    #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 N = 5e4 + 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, bool> vis;
    map<string, set<string>> adj;
    int x = -1;
    bool dfs(string node)
    {
        vis[node] = 1;
        bool ret = 1;
        if (node[0] >= '0' && node[0] <= '9')
        {
            int num = 0;
            for(auto i: node)
                num *= 10, num += i - '0';
            if (x == -1)
                x = num;
            ret &= num == x;
            if (ret == 0)
                return 0;
        }
        for(auto y: adj[node])
            if (!vis.count(y)) ret &= dfs(y);
        return ret;
    }
     
    main()
    {
        IOS
        cin >> n;
        for(int i = 1; i <= n; i++) cin >> a[i];
        for(int i = 1; i <= n; i++) cin >> b[i];
        for(int i = 1; i <= n; i++) adj[a[i]].insert(b[i]), adj[b[i]].insert(a[i]);
        bool ok = 1;
        for(int i = 1; i <= n; i++)
        {
            if (vis.count(a[i])) continue;
            x = -1;
            ok &= dfs(a[i]);
        }
        for(int i = 1; i <= n; i++)
        {
            if (vis.count(b[i])) continue;
            x = -1;
            ok &= dfs(b[i]);
        }
        if (ok) cout << "DA";
        else cout << "NE";
    }
    ///use scanf

Compilation message

zamjena.cpp:41:5: warning: ISO C++ forbids declaration of 'main' with no type [-Wreturn-type]
   41 |     main()
      |     ^~~~
# 결과 실행 시간 메모리 Grader output
1 Correct 2 ms 3412 KB Output is correct
2 Correct 2 ms 3412 KB Output is correct
3 Correct 2 ms 3412 KB Output is correct
4 Correct 2 ms 3412 KB Output is correct
5 Correct 1 ms 3412 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 2 ms 3416 KB Output is correct
2 Correct 2 ms 3412 KB Output is correct
3 Correct 1 ms 3412 KB Output is correct
4 Correct 2 ms 3412 KB Output is correct
5 Correct 1 ms 3412 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 2 ms 3412 KB Output is correct
2 Correct 2 ms 3412 KB Output is correct
3 Correct 2 ms 3412 KB Output is correct
4 Correct 2 ms 3412 KB Output is correct
5 Correct 2 ms 3412 KB Output is correct
6 Correct 2 ms 3412 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 3 ms 3668 KB Output is correct
2 Correct 3 ms 3668 KB Output is correct
3 Correct 8 ms 4308 KB Output is correct
4 Correct 10 ms 4436 KB Output is correct
5 Correct 8 ms 4308 KB Output is correct
6 Correct 7 ms 4052 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 23 ms 6432 KB Output is correct
2 Correct 51 ms 9220 KB Output is correct
3 Correct 84 ms 13312 KB Output is correct
4 Correct 111 ms 14524 KB Output is correct
5 Correct 183 ms 20880 KB Output is correct
6 Correct 121 ms 15292 KB Output is correct