제출 #584075

#제출 시각아이디문제언어결과실행 시간메모리
584075yanndev장난감 기차 (IOI17_train)C++17
0 / 100
7 ms988 KiB
#include <bits/stdc++.h>
using namespace std;

const int MX = 5042;
vector<int> graph[MX];

vector<int> who_wins(vector<int> a, vector<int> r, vector<int> u, vector<int> v) {
    int n, m;
    n = (int)a.size();
    m = (int)u.size();

    for (int i = 0; i <= n; i++)
        graph[i].clear();
        
    vector<int> ans (n);
    bool isChain = true;

    for (int i = 0; i < m; i++) {
        graph[u[i]].push_back(v[i]);
        if (!(u[i] == v[i] || v[i] == u[i] + 1))
            isChain = false;
    }

    if (isChain) {
        bool isOk = false;

        for (int i = n - 1; i >= 0; i--) {
            bool hasSelf = false;
            for (auto& x: graph[i])
                if (x == i)
                    hasSelf = true;

            if (hasSelf) {
                if (a[i]) {
                    if (r[i])
                        isOk = true;
                } else {
                    if (!r[i])
                        isOk = false;
                }
            }

            ans[i] = isOk;
        }

        return ans;
    }

    return ans;
}
#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...
#Verdict Execution timeMemoryGrader output
Fetching results...