Submission #630801

#TimeUsernameProblemLanguageResultExecution timeMemory
630801Farhan_HYZamjena (COCI18_zamjena)C++14
70 / 70
183 ms20880 KiB
    #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 (stderr)

zamjena.cpp:41:5: warning: ISO C++ forbids declaration of 'main' with no type [-Wreturn-type]
   41 |     main()
      |     ^~~~
#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...