답안 #583938

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
583938 2022-06-26T14:06:05 Z PiejanVDC 장난감 기차 (IOI17_train) C++17
0 / 100
14 ms 1492 KB
#include <bits/stdc++.h>
#include "train.h"

using namespace std;

const int mxN = (int)5005;

vector<int>adj[mxN];
vector<int>radj[mxN];

vector<int>df;
vector<int>c(mxN);

int C = 0;

vector<bool>vis(mxN);
vector<bool>rvis(mxN);

void dfs(int u) {
    df.push_back(u);
    vis[u] = 1;
    for(auto z : adj[u]) if(!vis[z]) {
        dfs(z);
    }
}

void col(int u) {
    c[u] = C;
    rvis[u] = 1;
    for(auto z : radj[u]) if(!rvis[z]) {
        col(z);
    }
}

vector<int>who_wins(vector<int>a, vector<int>r, vector<int>u, vector<int>v) {

    int n = r.size();
    int m = u.size();

    for(int i = 0 ; i < m ; i++) {
        adj[u[i]].push_back(v[i]);
        radj[v[i]].push_back(u[i]);
    }

    dfs(0);

    for(auto z : df) {
        if(c[z]) continue;

        C++;
        col(z);
    }

    vector<bool>have(n,0);

    for(int i = 1 ; i <= C ; i++) {
        for(int node = 0 ; node < n ; node++) {
            if(c[node] == i && r[node])
                have[i] = 1;
        }
    }

    vector<int>ans(n,0);

    for(int i = 0 ; i < n ; i++) {
        vector<bool>t(n,0);
        t[i] = 1;
        stack<int>s;
        s.push(i);
        while(!s.empty()) {
            int node = s.top();
            s.pop();
            if(have[c[node]]) {
                ans[i] = 1;
                break;
            }
            for(auto z : adj[node]) if(!t[z]) {
                t[z] = 1;
                s.push(z);
            }
        }
    }

    return ans;
}
# 결과 실행 시간 메모리 Grader output
1 Incorrect 14 ms 1336 KB 3rd lines differ - on the 1st token, expected: '0', found: '1'
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 1 ms 468 KB 3rd lines differ - on the 1st token, expected: '0', found: '1'
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 7 ms 1492 KB 3rd lines differ - on the 1st token, expected: '0', found: '1'
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 7 ms 1236 KB 3rd lines differ - on the 696th token, expected: '0', found: '1'
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 9 ms 1492 KB 3rd lines differ - on the 2nd token, expected: '0', found: '1'
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 14 ms 1336 KB 3rd lines differ - on the 1st token, expected: '0', found: '1'
2 Halted 0 ms 0 KB -