编程题
### 问题描述 在一个小镇上,街道的布局可以被看作一个无向图,每个交叉口是一个节点,每条街道是两个交叉口之间的一条边。镇长注意到,某些关键的交叉口如果被封锁,会导致小镇的某些部分与其他部分隔离。这些关键交叉口称为割点。 镇长有着一套连续的建设方案,你需要帮助镇长确定他的每次建设后小镇割点的情况。 ### 输入格式 第一行包含两个整数 $n$ 和 $m$,分别代表交叉路口的数量和街道的数量。 接下来的 $m$ 行,每行包含两个整数 $a$ 和 $b$,表示交叉口 $a$ 和 $b$ 之间有一条街道。交叉口的编号从 $1$ 到 $n$。 第 $m+1$ 行输入一个正整数 $v$,表示镇长有 $v$ 条建设方案。 接下来的 $v$ 行,每行输入3个整数 $t$,$x$,$y$。当 $t=0$ 时表示删除 $x$ 和 $y$ 之间直接相连的所有道路。当 $t=1$ 时表示在 $x$ 和 $y$ 之间增加一条直接相连的道路。 注意:所有的建设方案之间是连续的,例如第一次操作删除了 $1$ 和 $2$ 之间直接相连的道路,那么下一步修改方案中 $1$ 和 $2$ 之间就不再直接相连。 ### 输出格式 当城镇道路输入完成后,在第一行中按照从小到大的顺序输出初始的割点编号,两个编号之间以空格分隔。 对于每一条建设方案,在新的一行中按照从小到大的顺序输出仍然存在的割点编号,两个编号之间以空格分隔。 如果没有割点或图不是连通图,则在该行输出 $0$。 ### 样例输入 ``` 3 3 1 2 2 3 3 1 3 0 1 2 0 2 3 1 1 2 ``` ### 样例输出 ``` 0 3 0 1 ``` ### 测评数据规模 $1\le n\le 10^3$,$1\le m\le 10^4$,$1\le v\le100$。
查看答案
赣ICP备20007335号-2