#L5068. 「POI2018 R2」自行车道 Bike paths

「POI2018 R2」自行车道 Bike paths

#5068. 「POI2018 R2」自行车道 Bike paths

传统 100025001000 - 2500 ms 6464 MiB

题目描述

题目译自 XXV Olimpiada Informatyczna — II etap Drogi rowerowe

拜托城国王 Bajtazar 倾听民意,决定将部分预算盈余用于修建自行车道。皇家道路顾问已设计了一套单向自行车道网络,连接各路口,但经国王要求进行了多次修改。网络由连接路口 uuvv 的单向路段组成。从路口 uuvv 的路径定义为任意一串不同路口序列 u=v0,v1,,vk=vu=v_0, v_1, \ldots, v_k=v,其中每对连续路口 vi,vi+1(0i<k)v_i, v_{i+1} (0 \leq i < k) 由从 viv_ivi+1v_{i+1} 的路段连接。

国王要求网络「公平」,即满足:若从路口 vv 无法到达路口 uu(不存在从 vvuu 的路径),则从 uuvv 至多只有一条路径。国王认为,这能避免路口 vv 的居民嫉妒路口 uu 的居民。

市民自行车委员会获取了这一公平网络的设计,却对此不满,认为它不便于城市出行。他们需提交报告,急需确凿数据。你需计算网络的通达度,即对于每个路口 vv,计算从 vv 可达的路口数量。

输入格式

第一行包含两个整数 n,m(n2,m1)n, m (n \geq 2, m \geq 1),分别表示拜托城的路口数量和路段数量,路口编号为 11nn

接下来的 mm 行描述网络,每行包含两个整数 a,b(1a,bn,ab)a, b (1 \leq a, b \leq n, a \neq b),表示存在从路口 aabb 的单向路段。每对有序对 (a,b)(a, b) 至多出现一次,保证网络公平。

输出格式

输出 nn 行,第 ii 行包含一个整数,表示从路口 ii 可达的路口数量。

样例

输入

77 77 11 44 11 66 44 22 66 22 22 11 55 33 33 77

输出

33 33 11 33 22 33 00

附加样例

  • n=25,m=600n=25, m=600,每路口到其他路口均有路段。
  • n=55,m=54n=55, m=54,含孤立路口及长度 221010 的独立环。
  • n=50000,m=49999n=50000, m=49999,所有路口在一条路径上。
  • n=50000,m=50000n=50000, m=50000,所有路口在一个环上。

数据范围与提示

详细子任务附加限制及分值如下表所示。

子任务 附加限制 分值
1 n60n \leq 60 1212
2 n,m5000n, m \leq 5000 88
3 n50000,m100000n \leq 50000, m \leq 100000,若 u>vu > v,则无从 uuvv 的路径 1818
4 n50000,m100000n \leq 50000, m \leq 100000,若从 uu 可达 vv,则 vv 不可达 uu
5 n50000,m100000n \leq 50000, m \leq 100000 4444