#DSU202502. 强哥的彩绳挑战
强哥的彩绳挑战
强哥最近迷上了彩绳拼接游戏。他拿出了 根彩绳,每根彩绳的一端涂成红色("R"),另一端涂成蓝色("B")。这些彩绳被编号为 到 。
强哥可以进行 次拼接操作。在第 次操作中,他将绳子 的颜色为 的一端,与绳子 的颜色为 的一端绑在一起。不过,强哥规定,每根彩绳的同一颜色的一端最多只能绑一次。
完成所有拼接后,强哥想知道:
- 循环彩绳对的数量:如果能够将某些彩绳适当地重新排列,使得它们两两首尾相连,形成一个闭环,那么这些彩绳构成一个循环彩绳对。
- 非循环彩绳对的数量:不属于循环彩绳对的绳子对。
请帮强哥计算有多少对彩绳是循环的,多少对是非循环的。
数据范围
- $(A_i, B_i) \neq (A_j, B_j), (C_i, D_i) \neq (C_j, D_j)$
- 是整数
- 是 "R" 或 "B"
输入格式
输入通过标准输入提供,格式如下:
...
输出格式
输出两个整数 和 ,用空格分隔,分别表示循环彩绳对的数量和非循环彩绳对的数量。
示例
输入样例 1
5 3
3 R 5 B
5 R 3 B
4 R 2 B
输出样例 1
1 2
解释:
拼接后形成的彩绳对有 组:
- :单独的彩绳,没有连接,不是循环对。
- :两根彩绳拼接在一起,首尾没有连成闭环,不是循环对。
- :两根彩绳拼接形成一个闭环,是循环对。
因此,循环对 ,非循环对 。
输入样例 2
7 0
输出样例 2
0 7
解释:
没有进行任何拼接操作,因此所有的彩绳都单独存在,属于非循环对。