#YC233. 鸽巢动态统计问题
鸽巢动态统计问题
鸽巢动态统计问题

题目描述
有 只鸽子(编号 到 )和 个巢穴(编号 到 )。初始时,每只鸽子 位于巢穴 中。
需要处理 个查询操作,操作分为两种类型:
操作类型
-
移动操作
1 P H- 将鸽子 移动到巢穴
- 保证移动前鸽子 不在巢穴 中
-
统计操作
2- 输出当前包含多于一只鸽子的巢穴数量
输入格式
每个一定是下列两种情况之一:
1 P H
2
- 数据保证鸽子 在移动之前不在鸽巢 中.
- 所有输入数据均为整数.
输出格式
对于每一个为的情况,打印此时一共有多少个巢满足
巢内鸽子数
注意换行打印
样例
4 7
2
1 1 2
2
1 3 2
2
1 3 4
2
0
1
1
2
鸽子动态操作示例1详解
初始状态
- 4只鸽子初始所在巢穴:
鸽子1 → 巢穴1
鸽子2 → 巢穴2
鸽子3 → 巢穴3
鸽子4 → 巢穴4 - 各巢穴鸽子数量:
[1, 1, 1, 1]
操作流程与结果
| 操作序号 | 操作类型 | 具体操作 | 巢穴状态变化 | 统计结果说明 |
|---|---|---|---|---|
| 1 | 统计操作 | 查询当前状态 | 巢穴计数保持 [1,1,1,1] |
输出0(无巢穴含多只鸽子) |
| 2 | 移动操作 | 鸽子1 → 巢穴2 | 巢穴状态变为 [0,2,1,1] |
—— |
| 3 | 统计操作 | 查询更新后状态 | 巢穴2含2只鸽子 | 输出1 |
| 4 | 移动操作 | 鸽子3 → 巢穴2 | 巢穴状态变为 [0,3,0,1] |
—— |
| 5 | 统计操作 | 查询更新后状态 | 巢穴2含3只鸽子 | 输出1 |
| 6 | 移动操作 | 鸽子3 → 巢穴4 | 巢穴状态变为 [0,2,0,2] |
—— |
| 7 | 统计操作 | 最终状态查询 | 巢穴2和4各含2只鸽子 | 输出2 |
关键状态对比
| 操作节点 | 巢穴1 | 巢穴2 | 巢穴3 | 巢穴4 | 统计结果 |
|---|---|---|---|---|---|
| 初始状态 | 1 | 1 | 1 | 0 | |
| 操作2后 | 0 | 2 | —— | ||
| 操作3后 | 1 | ||||
| 操作4后 | 3 | 0 | —— | ||
| 操作5后 | 1 | ||||
| 操作6后 | 2 | 2 | —— | ||
| 操作7后 | 2 | ||||
5 10
2
1 4 3
1 4 5
2
1 3 1
2
1 2 3
1 2 5
1 1 3
2
0
1
2
1