#6027. 限量销售
限量销售
题目描述
新华书店新到了一批限量版图书,共 种不同的书,每种书只有一本。书店决定按照会员排队的顺序进行限量发售。
书店一共有 位会员提前预约,当图书发售时,所有会员会按顺序排队等候购买。每位会员都有自己最想买的第一目标图书和第二目标图书(两种图书编号不同)。
会员购买图书的规则如下:
- 如果她第一目标的图书还有剩余,就购买该书并离开。
- 否则,如果第二目标的图书还有剩余,就购买该书并离开。
- 否则,她会放弃购买。
现在书店想提前模拟发售过程中的一种特殊情况:如果前 位会员取消预约的情况下(即:只剩下后 位会员,相对排队顺序保持不变,仍按原顺序依次排队购书),统计最终会有多少位会员成功购买到一本图书。
请你编写程序,计算对于每种可能的 (),当只让后 位会员依次排队购买时,成功购到书的会员数量是多少。
输入格式
第一行包含两个正整数 和 ,分别表示预约购书的会员总数和图书种类数。 接下来 行,每行两个正整数 和 ( 且 ),表示第 位排队的会员的第一目标和第二目标图书编号。
输出格式
输出 行,每行一个整数。第 行表示当取消前 位会员预约(即只让第 到第 位会员排队购买)时,成功购到图书的会员数量。
输入输出样例
输入 #1
4 2
1 2
1 2
1 2
1 2
输出 #1
2
2
2
1
输入 #2
6 8
1 2
2 3
3 4
1 3
2 4
5 6
输出 #2
5
5
4
3
2
1
输入 #3
10 9
1 2
2 3
3 4
4 5
5 6
1 3
2 4
3 5
6 7
8 9
输出 #3
7
7
7
7
6
5
4
3
2
1
说明/提示
样例1说明
共有 位会员, 种图书,每位会员都最喜欢 号书,其次喜欢 号书。
- 取消前 位(全部 人排队):只有 本书,最多 人能购到 → 输出 。
- 取消前 位(后 人排队):仍只有 本书 → 输出 。
- 取消前 位(后 人排队): 人正好购买走 本书 → 输出 。
- 取消前 位(只剩最后 人): 人购买走 本书 → 输出 。
数据范围
对于 的数据,。
对于 的数据,,,。