300860: CF164A. Variable, or There and Back Again
Memory Limit:256 MB
Time Limit:2 S
Judge Style:Text Compare
Creator:
Submit:0
Solved:0
Description
Variable, or There and Back Again
题意翻译
## 题目描述 给你一个n个点,m条边的有向图(不一定连通),每个点都被标上了0、1或2。如果有一条路径是从一个标为1的点开始,途径若干个标为0或2的点,最后到达一个标为2的点,那么这条路径上的所有点都算作被访问过。请问最后有多少点被访问过? ## 输入格式 共m+2行。 第一行,2个整数n和m(1<=n,m<=100000),表示有向图的点数和边数。 第二行,n个整数f1,f2……fn(0<=fi<=2),表示第i个点标记的数——0、1或2。 接下来m行,每行2个整数ai,bi (1<=ai,bi<=n,ai不等于bi),表示从第ai个点到第bi个点有一条边。 ## 输出格式 共n行,每行一个整数ri,若ri=1表示第i个点被访问过,否则ri=0。 ## 说明/提示 对于样例1,唯一的合法路径1->2->3->4包含了全部的点。 对于样例2,唯一的一条合法路径3->1包含了1和3两个点,点2没有在路径中。 对于样例3,没有一条路径是合法的。题目描述
Life is not easy for the perfectly common variable named Vasya. Wherever it goes, it is either assigned a value, or simply ignored, or is being used! Vasya's life goes in states of a program. In each state, Vasya can either be used (for example, to calculate the value of another variable), or be assigned a value, or ignored. Between some states are directed (oriented) transitions. A path is a sequence of states $ v_{1},v_{2},...,v_{x} $ , where for any $ 1<=i<x $ exists a transition from $ v_{i} $ to $ v_{i+1} $ . Vasya's value in state $ v $ is interesting to the world, if exists path $ p_{1},p_{2},...,p_{k} $ such, that $ p_{i}=v $ for some $ i $ $ (1<=i<=k) $ , in state $ p_{1} $ Vasya gets assigned a value, in state $ p_{k} $ Vasya is used and there is no state $ p_{i} $ (except for $ p_{1} $ ) where Vasya gets assigned a value. Help Vasya, find the states in which Vasya's value is interesting to the world.输入输出格式
输入格式
The first line contains two space-separated integers $ n $ and $ m $ ( $ 1<=n,m<=10^{5} $ ) — the numbers of states and transitions, correspondingly. The second line contains space-separated $ n $ integers $ f_{1},f_{2},...,f_{n} $ ( $ 0<=f_{i}<=2 $ ), $ f_{i} $ described actions performed upon Vasya in state $ i $ : $ 0 $ represents ignoring, $ 1 $ — assigning a value, $ 2 $ — using. Next $ m $ lines contain space-separated pairs of integers $ a_{i},b_{i} $ ( $ 1<=a_{i},b_{i}<=n $ , $ a_{i}≠b_{i} $ ), each pair represents the transition from the state number $ a_{i} $ to the state number $ b_{i} $ . Between two states can be any number of transitions.
输出格式
Print $ n $ integers $ r_{1},r_{2},...,r_{n} $ , separated by spaces or new lines. Number $ r_{i} $ should equal $ 1 $ , if Vasya's value in state $ i $ is interesting to the world and otherwise, it should equal $ 0 $ . The states are numbered from $ 1 $ to $ n $ in the order, in which they are described in the input.
输入输出样例
输入样例 #1
4 3
1 0 0 2
1 2
2 3
3 4
输出样例 #1
1
1
1
1
输入样例 #2
3 1
1 0 2
1 3
输出样例 #2
1
0
1
输入样例 #3
3 1
2 0 1
1 3
输出样例 #3
0
0
0