제출 #669394

#제출 시각아이디문제언어결과실행 시간메모리
669394someone장난감 기차 (IOI17_train)C++14
0 / 100
7 ms2132 KiB
#include "train.h"
#include <bits/stdc++.h>
using namespace std;
 
const int N = 10 + 42, INF = 1e9;
 
int n, m, dp[N*N][N];
vector<int> adj[N], ans;
 
vector<int> who_wins(vector<int> a, vector<int> r, vector<int> u, vector<int> v) {
	n = a.size();
	m = u.size();
	for(int i = 0; i < m; i++)
        adj[v[i]].push_back(u[i]);
    
    for(int i = 0; i < n*n+42; i++) {
        for(int j = 0; j < n; j++) {
            dp[i+1][j] = dp[i][j];
            if(a[j]) {
                for(int k : adj[j])
                    dp[i+1][j] = max(dp[i+1][j], dp[i][k]);
            } else {
                for(int k : adj[j])
                    dp[i+1][j] = min(dp[i+1][j], dp[i][k]);
            }
            if(r[j])
                dp[i+1][j]++;
	    }
	}
	
	for(int j = 0; j < n; j++)
	    ans.push_back((dp[n*n+42][j] > n));
	
	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...