#P16265. [蓝桥杯 2026 省 Python B 组] 蓝小圈

[蓝桥杯 2026 省 Python B 组] 蓝小圈

题目描述

手机屏幕幽幽地亮起,“蓝小圈”社交平台的图标微微闪动。小蓝作为该平台的后端架构师,正盯着流量监控面板上不断跳动的数据。

为了提升用户粘性,平台产品经理提出了全新的“圈层互动”功能。系统中共有 NN 个用户结点,初始时,每位用户的“活跃度”均为 00,且彼此之间处于陌生人状态,没有任何社交关联。

随着产品功能的上线,后台日志将按顺序记录 QQ 条用户行为指令。这些指令如下:

  1. 建立好友:用户 XX 与用户 YY 相互关注,双方所在的社交圈正式连通。若两者已处于同一社交圈,则忽略此操作。
  2. 发布个人动态:用户 XX 发布了一条个人动态,其个人活跃度提升 AA 个单位。
  3. 圈层热议:用户 XX 发起了一个热门话题,该话题产生极强的辐射效应,使得所有与 XX 处于同一社交圈(即通过好友关系可直接或间接连通)的用户,其活跃度同步追加 AA 个单位。
  4. 数据查询:运营团队请求获取用户 XX 当前的活跃度数,用于分析用户质量。

随着用户量激增,高频的社交互动请求让服务器核心计算模块面临巨大压力。作为小蓝的协助者,请你接管日志处理单元,并按顺序输出所有的查询结果。

输入格式

第一行包含两个正整数 NNQQ,分别代表平台用户总数与行为日志的总条数。

随后 QQ 行,每行描述一条具体的行为指令,格式遵循以下四种类型之一:

  • 11 XX YY: 执行“建立好友”,连通用户 XXYY 的社交圈。
  • 22 XX AA: 执行“个人动态”,为用户 XX 的活跃度增加 AA
  • 33 XX AA: 执行“圈层热议”,为 XX 所在社交圈内的所有用户活跃度增加 AA
  • 44 XX: 执行“数据查询”,查询用户 XX 的当前活跃度。

输出格式

针对每一条“数据查询”指令,输出单独的一行整数,代表目标用户当前的活跃度数值。

3 6
1 1 2
1 1 3
2 1 5
3 2 5
4 1
4 2
10
5

提示

【评测用例规模与约定】

对于 30%30\% 的评测用例,1N10001 \leq N \leq 10001Q10001 \leq Q \leq 1000

对于所有评测用例,1N2×1051 \leq N \leq 2 \times 10^51Q2×1051 \leq Q \leq 2 \times 10^51X,YN1 \leq X, Y \leq N1A1091 \leq A \leq 10^9。保证测试数据中至少包含一条类型为 44 的“数据查询”指令。