답안 #427040

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
427040 2021-06-14T11:57:12 Z someone 장난감 기차 (IOI17_train) C++14
0 / 100
1298 ms 1396 KB
#include "train.h"
#include <bits/stdc++.h>
using namespace std;

const int N = 1e4 + 42, INF = 1e9;

bool ch[N];
int n, m, val[N][2];
vector<int> adj[N];

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 < 2*n; i++) {
		//cout << " " << i << '\n';
		for(int j = 0; j < n; j++) {
			int pds = -1;
			if(r[j] == 1)
				pds += n;
			for(int k : adj[j]) {
				if(a[0] == 1) {
					//cout << k << ' ' << val[k][1 - (i % 2)] << '\n';
					val[k][1 - (i % 2)] = max(val[k][1 - (i % 2)], val[j][i % 2] + pds);
					//cout << val[k][1 - (i % 2)] << '\n';
				} else
					val[k][1 - (i % 2)] = min(val[k][1 - (i % 2)], val[j][i % 2] + pds);
			}
		}/*
		for(int j = 0; j < n; j++)
			cout << val[j][1 - (i % 2)] << ' ';
		cout << '\n';*/
	}
	int i = 2*n;
	/*for(int j = 0; j < n; j++)
		cout << val[j][1 - (i % 2)] << ' ';
	cout << '\n';*/
	for(int j = 0; j < n; j++) {
		int pds = -1;
		if(r[j])
			pds += n;
		for(int k : adj[j])
			if(a[0] == 1) {
				if(val[k][1 - (i % 2)] != max(val[k][1 - (i % 2)], val[j][i % 2] + pds)) {
					ch[k] = true;
					val[k][1 - (i % 2)] = max(val[k][1 - (i % 2)], val[j][i % 2] + pds);
				}
			} else {
				if(val[k][1 - (i % 2)] != min(val[k][1 - (i % 2)], val[j][i % 2] + pds)) {
					ch[k] = true;
					val[k][1 - (i % 2)] = min(val[k][1 - (i % 2)], val[j][i % 2] + pds);
				}
			}
	}
	/*for(int j = 0; j < n; j++)
		cout << val[j][(i % 2)] << ' ';
	cout << '\n';
	for(int j = 0; j < n; j++)
		cout << val[j][1 - (i % 2)] << ' ';
	cout << '\n';*/
	vector<int> res(n);
	for(int i = 0; i < n; i++)
		if(ch[i])
			res[i] = 1;
	return res;
}
# 결과 실행 시간 메모리 Grader output
1 Incorrect 615 ms 900 KB 3rd lines differ - on the 1st token, expected: '0', found: '1'
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 1 ms 460 KB 3rd lines differ - on the 8th token, expected: '0', found: '1'
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 1298 ms 1176 KB Output is correct
2 Correct 1255 ms 1172 KB Output is correct
3 Correct 1207 ms 1168 KB Output is correct
4 Correct 1214 ms 1156 KB Output is correct
5 Incorrect 1211 ms 1396 KB 3rd lines differ - on the 73rd token, expected: '1', found: '0'
6 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 983 ms 1028 KB 3rd lines differ - on the 1st token, expected: '1', found: '0'
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 1244 ms 1160 KB 3rd lines differ - on the 2nd token, expected: '0', found: '1'
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 615 ms 900 KB 3rd lines differ - on the 1st token, expected: '0', found: '1'
2 Halted 0 ms 0 KB -