题目描述
考虑一个无向图,包含 个结点,编号为 ,以及 条边(,)。给定一个位串 。对于每一个 ,在时刻 时,
- 如果 ,则从图中移除结点 。
- 如果 ,则从图中移除结点 ,并在结点 被移除之前的每对邻居之间添加一条边。
注意在这两种情况下,当一个结点从图中被移除时它的所有相邻边也会被移除。
计算在每一个时刻 之前,可以通过一组边相互到达的结点对数。
输入格式
输入的第一行包含 和 。
第二行包含长为 的位串 。
以下 行,每行包含两个整数,表示图中的一条边。
输出格式
输出 行,为每一个时刻之前所求的对数。
样例
输入
3 2 111 1 2 1 3
输出
3 1 0
输入
3 2 000 1 2 1 3
输出
3 0 0
输入
7 8 1101101 6 2 1 2 2 3 6 3 1 3 1 7 4 5 2 7
输出
11 7 4 2 1 1 0
提示说明
【样例解释】
-
测试点 7-8:所有 均等于 。
-
测试点 9-11:所有 均等于 。
-
测试点 12-23:没有额外限制。
【数据规模与约定】
-
测试点 4-6:。
-
测试点 7-8:所有 均等于 。
-
测试点 9-11:所有 均等于 。
-
测试点 12-23:没有额外限制。
供题:Benjamin Qi