Submission #33763

# Submission time Handle Problem Language Result Execution time Memory
33763 2017-11-01T14:34:10 Z mohammad_kilani Toy Train (IOI17_train) C++14
11 / 100
1513 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] ^ 1;
		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 556 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 433 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 619 ms 5828 KB Output is correct
3 Correct 1203 ms 5860 KB Output is correct
4 Correct 1376 ms 5992 KB Output is correct
5 Correct 929 ms 5996 KB Output is correct
6 Correct 729 ms 5852 KB Output is correct
7 Correct 859 ms 5852 KB Output is correct
8 Correct 1259 ms 5844 KB Output is correct
9 Correct 283 ms 5832 KB Output is correct
10 Correct 549 ms 6000 KB Output is correct
11 Correct 329 ms 5996 KB Output is correct
12 Correct 606 ms 5996 KB Output is correct
13 Correct 1106 ms 5996 KB Output is correct
14 Correct 719 ms 5836 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1513 ms 6000 KB Output is correct
2 Correct 896 ms 5996 KB Output is correct
3 Correct 1286 ms 5996 KB Output is correct
4 Correct 966 ms 5832 KB Output is correct
5 Correct 0 ms 5248 KB Output is correct
6 Correct 529 ms 5656 KB Output is correct
7 Correct 89 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 556 ms 5652 KB 3rd lines differ - on the 1st token, expected: '0', found: '1'
2 Halted 0 ms 0 KB -