제출 #126819

#제출 시각아이디문제언어결과실행 시간메모리
126819neki장난감 기차 (IOI17_train)C++14
5 / 100
10 ms1276 KiB
#include "train.h"
#include <iostream>
#include <vector>
#include <cstring>
#include <set>

using namespace std;

const int max_n = 5000;
const bool A = true;
const bool B = false;

int n;
vector <int> adj[max_n];

vector<int> who_wins(vector<int> a, vector<int> r, vector<int> u, vector<int> v) {
	n = (int)a.size();
	for (int i = 0; i < u.size(); i++)
		adj[u[i]].push_back(v[i]);


	vector <int> res(n, B);
	for (int i = n-1; i >= 0; i--) {
		bool self_loop = false, next = false;
		for (auto x : adj[i])
			self_loop |= (x == i),
			next |= (x == i+1);
		if (self_loop && r[i] == true && a[i] == A) res[i] = A;
		else if (self_loop && r[i] == false && a[i] == B) res[i] = B;
		else if (next) res[i] = res[i + 1];
		else res[i] = r[i];
	}
	return res;
}

컴파일 시 표준 에러 (stderr) 메시지

train.cpp: In function 'std::vector<int> who_wins(std::vector<int>, std::vector<int>, std::vector<int>, std::vector<int>)':
train.cpp:18:20: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
  for (int i = 0; i < u.size(); i++)
                  ~~^~~~~~~~~~
#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...