제출 #617891

#제출 시각아이디문제언어결과실행 시간메모리
617891chirathnirodha장난감 기차 (IOI17_train)C++17
5 / 100
14 ms1236 KiB
#include "train.h"
#include<bits/stdc++.h>
using namespace std;
#define PB push_back
#define MP make_pair
#define F first
#define S second

int n,m;
vector<int> ed[5000];
bool own[5000];
bool charge[5000];
bool self[5000];
vector<int> SUB_1() {
	vector<int> ans(n);
	for(int i=0;i<n;i++){
		for(int j=i;j<n;j++){
			if(self[j]==true && ed[j].size()==1){
				if(charge[j]==true)ans[i]=1;
				else ans[i]=0;
				break;
			}
			if(own[j]==true && charge[j]==true && self[j]==true){ans[i]=1;break;}
			if(own[j]==false && charge[j]==false && self[j]==true){ans[i]=0;break;}
		}
	}
	return ans;
}
vector<int> who_wins(vector<int> a, vector<int> r, vector<int> u, vector<int> v) {
	n=a.size();m=u.size();
	memset(self,false,sizeof(self));
	for(int i=0;i<m;i++){
		ed[u[i]].PB(v[i]);
		if(u[i]==v[i])self[u[i]]=true;
	}
	for(int i=0;i<n;i++){own[i]=a[i];charge[i]=r[i];}
	return SUB_1();
}
#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...