📜  门|门 CS 1999 |第 52 题(1)

📅  最后修改于: 2023-12-03 14:58:35.475000             🧑  作者: Mango

题目介绍:门

问题描述:

有 $n$ 个门排成一列,每个门要么是打开的,要么是关闭的,你需要操作这些门使得最后只有编号为 $k$ 的门是打开的。

每次操作可以选择编号为 $i$ 和 $j$ 的两扇门 $(1 \leq i,j \leq n)$, 并将它们的状态进行 “取反”。即开关状态互换。

现在请你编写一个程序,计算出要想只有编号为 $k$ 的门是打开的,至少需要进行多少次操作?

输入格式:

输入的第一行包含三个整数 $n, m, k$,表示门的数量,操作次数,和最终门的编号。

接下来 $m$ 行,每行包含两个整数 $a, b$,表示门 $a$ 和门 $b$ 可以进行一次操作。

输出格式:

输出一个整数,表示只有编号为 $k$ 的门是打开的,至少需要进行的操作次数。

输入样例:

5 4 3
1 2
2 3
3 4
4 5

输出样例:

1

提示:

题目中所描述的取反操作,就是常见的异或操作,设 $a$ 为某个状态,则 $a$ 异或 $1$ 即表示对 $a$ 取反。