답안 #584085

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

using namespace std;

vector<int>tim;
vector<bool>vis(15);
vector<int>s,a,r;
vector<int>adj[15];
vector<int>ans(15,2);

int t = 1;

bool dfs(int u) {
    vis[u] = 1;
    if(ans[u] != 2) {
        vis[u] = 0;
        return ans[u];
    }

    tim[u] = t++;
    if(r[u])
        s.push_back(t-1);

    bool ok;
    if(a[u]) {
        ok = 0;
        for(auto z : adj[u]) if(!vis[z]) {
            ok |= dfs(z);
            if(ok)
                break;
        } else {
            if(!s.empty() && tim[z] <= s.back())
                ok = 1;
        }
    } else {
        ok = 1;
        for(auto z : adj[u]) if(!vis[z]) {
            ok &= dfs(z);
            if(!ok)
                break;
        } else {
            if(!s.empty() && tim[z] <= s.back())
                ok &= 1;
        }
    }

    if(r[u])
        s.pop_back();
    tim[u] = 0;

    vis[u] = 0;
    return ok;
}

vector<int>who_wins(vector<int>A, vector<int>R, vector<int>u, vector<int>v) {

    r = R;
    a = A;

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

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

    vector<int>x;
    for(int i = 0 ; i < n ; i++)
        x.push_back(i);

    random_shuffle(x.begin(),x.end());

    for(int y = 0 ; y < n ; y++) {
        int i = x[y];
        t = 1;
        tim.clear();
        tim.resize(n,0);
        ans[i] = dfs(i);
    }

    return ans;
}
# 결과 실행 시간 메모리 Grader output
1 Runtime error 2 ms 852 KB Execution killed with signal 11
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 212 KB Output is correct
2 Incorrect 0 ms 212 KB 3rd lines differ - on the 1st token, expected: '0', found: '1'
3 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Runtime error 5 ms 1236 KB Execution killed with signal 11
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Runtime error 4 ms 1108 KB Execution killed with signal 11
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Runtime error 5 ms 1236 KB Execution killed with signal 11
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Runtime error 2 ms 852 KB Execution killed with signal 11
2 Halted 0 ms 0 KB -