编程题
### 问题描述 小蓝是一个著名的魔术师,他最擅长的魔术就是交换杯子。 在桌子上有 $n$ 个杯子,编号为 $1, 2, \dots, n$,其中 $m$ 个杯子各有一个硬币,小蓝会进行 $k$ 次的交换操作,每次操作是将两个不同的杯子进行交换。 台下有 $t$ 名观众,他们每个人会选择一个杯子,若在 $k$ 次交换之后,他们选择的杯子中有硬币,那么他们就获得了胜利,请你计算一下获胜的观众占比多少。 ### 输入格式 第一行包含四个正整数 $n, m, k, t$,杯子的个数、有硬币的杯子的个数、交换次数和观众的个数。 第二行包含 $m$ 个整数 $p_1, p_2, \dots, p_m$,表示有硬币的杯子的编号。 接下来 $k$ 行,每行两个整数 $x_i, y_i$,表示小蓝本次会交换杯子 $x_i$ 和杯子 $y_i$。 最后一行包含 $t$ 个整数 $s_1, s_2, \dots, s_t$,表示观众选择的杯子编号。 ### 输出格式 输出一行两个整数,表示获胜的观众的占比,例如输出 `x y`,表示占比 $\dfrac{x}{y}$(最简分数),数据保证最终占比大于 $0$。 ### 样例输入 ``` 3 2 3 3 1 2 1 2 2 3 3 1 1 2 3 ``` ### 样例输出 ``` 2 3 ``` ### 数据范围 对于 $100$% 测试样例, $1 \leq m \leq n \leq 10^5$,$1 \leq k,t \leq 10^5$,$1 \leq p_i, x_i, y_i, s_i \leq n$。
查看答案
赣ICP备20007335号-2