Submission #33772

# Submission time Handle Problem Language Result Execution time Memory
33772 2017-11-01T15:23:18 Z mohammad_kilani Toy Train (IOI17_train) C++14
11 / 100
1603 ms 6016 KB
#include <bits/stdc++.h>
#include "train.h"
using namespace std;
const int N = 5010;
bitset < N > win[N]; 
vector< int > g[N];
int in[N];


std::vector<int> who_wins(std::vector<int> a, std::vector<int> r, std::vector<int> u, std::vector<int> v) {
	vector<int> ans;
	int n = a.size();
	for(int i=0;i<n;i++) win[i][0] = r[i] ; 
	for(int i=0;i<u.size();i++){
		g[v[i]].push_back(u[i]);
		in[u[i]]++;
	}
	queue < int > q;
	for(int j=1;j<=n;j++){
		for(int i=0;i<n;i++) if(r[i]) win[i][j] = 1; else win[i][j] = !a[i];
		for(int i=0;i<u.size();i++){
			int o = u[i];
			int t = v[i];
			if(r[o]) continue;
			if(a[o]){
				if(win[t][j-1]) win[o][j] = 1;
			}
			else{
				if(win[t][j-1] == 0) win[o][j] = 0;
			}
		}
	}
	for(int i=0;i<n;i++){
		if(win[i][n] == 0){
			in[i] = 0 ;
			q.push(i);
		}
		else if(a[i] == 0){
			in[i] = 1;
		}
	}
	for(int i=0;i<n;i++) ans.push_back(1);
	while(!q.empty()){
		int node = q.front();
		q.pop();
		ans[node] = 0 ;
		for(int j=0;j<g[node].size();j++){
			int newnode = g[node][j];
			if(in[newnode] == 0) continue;
			in[newnode]--;
			if(in[newnode] == 0) q.push(newnode);
		}
	}
	return ans;
}

Compilation message

train.cpp: In function 'std::vector<int> who_wins(std::vector<int>, std::vector<int>, std::vector<int>, std::vector<int>)':
train.cpp:14:15: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
  for(int i=0;i<u.size();i++){
               ^
train.cpp:21:16: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
   for(int i=0;i<u.size();i++){
                ^
train.cpp:47:16: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
   for(int j=0;j<g[node].size();j++){
                ^
# Verdict Execution time Memory Grader output
1 Incorrect 599 ms 5652 KB 3rd lines differ - on the 1st token, expected: '0', found: '1'
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 0 ms 5248 KB Output is correct
2 Correct 0 ms 5248 KB Output is correct
3 Correct 0 ms 5248 KB Output is correct
4 Incorrect 0 ms 5248 KB 3rd lines differ - on the 4th token, expected: '0', found: '1'
5 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 493 ms 6016 KB 3rd lines differ - on the 1st token, expected: '0', found: '1'
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 253 ms 5864 KB Output is correct
2 Correct 756 ms 5828 KB Output is correct
3 Correct 1603 ms 5860 KB Output is correct
4 Correct 1439 ms 5992 KB Output is correct
5 Correct 926 ms 5996 KB Output is correct
6 Correct 719 ms 5852 KB Output is correct
7 Correct 786 ms 5852 KB Output is correct
8 Correct 1509 ms 5844 KB Output is correct
9 Correct 336 ms 5832 KB Output is correct
10 Correct 636 ms 6000 KB Output is correct
11 Correct 369 ms 5996 KB Output is correct
12 Correct 653 ms 5996 KB Output is correct
13 Correct 1206 ms 5996 KB Output is correct
14 Correct 763 ms 5836 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1466 ms 6000 KB Output is correct
2 Correct 759 ms 5996 KB Output is correct
3 Correct 1433 ms 5996 KB Output is correct
4 Correct 999 ms 5832 KB Output is correct
5 Correct 0 ms 5248 KB Output is correct
6 Correct 436 ms 5656 KB Output is correct
7 Correct 93 ms 5668 KB Output is correct
8 Incorrect 136 ms 5692 KB 3rd lines differ - on the 5th token, expected: '0', found: '1'
9 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 599 ms 5652 KB 3rd lines differ - on the 1st token, expected: '0', found: '1'
2 Halted 0 ms 0 KB -