Submission #574595

# Submission time Handle Problem Language Result Execution time Memory
574595 2022-06-08T22:21:01 Z definitelynotmee Toy Train (IOI17_train) C++
11 / 100
512 ms 1656 KB
#include<bits/stdc++.h>
#include"train.h"
#define ff first
#define ss second
#define all(x) x.begin(), x.end()
using namespace std;
using ll = long long;
using pii = pair<int,int>;
using pll = pair<ll,ll>;
template<typename T>
using matrix = vector<vector<T>>;

std::vector<int> who_wins(std::vector<int> a, std::vector<int> r, std::vector<int> u, std::vector<int> v) {
	int owned = accumulate(all(a),0);
    int n = a.size(), m = u.size();
    vector<int> resp(n);
    matrix<int> g(n), rev(n);
    for(int i = 0; i < m; i++){
        g[u[i]].push_back(v[i]);
        rev[v[i]].push_back(u[i]);
    }
    if(owned == n){
        for(int i = 0; i < n; i++){
            if(!r[i])
                continue;
            vector<int> reach(n), reachedby(n);
            auto dfs =[&](int id, auto dfs)->void{
                reach[id] = 1;
                for(int i : g[id])
                    if(!reach[i]) dfs(i,dfs);
            };
            auto rdfs =[&](int id, auto dfs)->void{
                reachedby[id] = 1;
                for(int i : rev[id])
                    if(!reachedby[i]) dfs(i,dfs);
            };
            for(int j : g[i])
                dfs(j,dfs);
            for(int j : rev[i])
                rdfs(j,rdfs);
            if(reach[i]){
                for(int j = 0; j < n; j++)
                    resp[j]|=reachedby[j];
            }
        }       
        
    } else {
        
    }
	return resp;
}
# Verdict Execution time Memory Grader output
1 Incorrect 4 ms 980 KB 3rd lines differ - on the 14th token, expected: '1', found: '0'
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 0 ms 212 KB 3rd lines differ - on the 2nd token, expected: '1', found: '0'
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 52 ms 1552 KB Output is correct
2 Correct 95 ms 1560 KB Output is correct
3 Correct 128 ms 1544 KB Output is correct
4 Correct 512 ms 1452 KB Output is correct
5 Correct 95 ms 1636 KB Output is correct
6 Correct 80 ms 1624 KB Output is correct
7 Correct 494 ms 1584 KB Output is correct
8 Correct 7 ms 1620 KB Output is correct
9 Correct 7 ms 1568 KB Output is correct
10 Correct 11 ms 1492 KB Output is correct
11 Correct 8 ms 1536 KB Output is correct
12 Correct 7 ms 1492 KB Output is correct
13 Correct 8 ms 1620 KB Output is correct
14 Correct 8 ms 1596 KB Output is correct
15 Correct 8 ms 1596 KB Output is correct
16 Correct 8 ms 1620 KB Output is correct
17 Correct 10 ms 1656 KB Output is correct
18 Correct 309 ms 1328 KB Output is correct
# Verdict Execution time Memory Grader output
1 Incorrect 6 ms 1108 KB 3rd lines differ - on the 1st token, expected: '1', found: '0'
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 7 ms 1364 KB 3rd lines differ - on the 1st token, expected: '1', found: '0'
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 4 ms 980 KB 3rd lines differ - on the 14th token, expected: '1', found: '0'
2 Halted 0 ms 0 KB -