A44567.公告

普及/提高-

官方

通过率:0%

时间限制:1.00s

内存限制:128MB

题目描述

Alice 是高二(3)班的班长。今天老师布置了一项紧急通知,需要 Alice 通过班级群转达给所有同学。

已知班级中每个同学可能属于多个「小群」(例如同桌群、社团群等),且消息传播规则如下:

  1. 初始传播:Alice 将消息发至自己所在的所有群。
  2. 转发规则:当某同学在某个群中收到消息时,会立即检查自己所属的其他所有群:
    • 如果某个群从未收到过该消息,则该同学会将消息转发到这个群。
    • 每个群仅接收第一次收到的消息(后续重复消息忽略)。

现在已知有 nn 位同学,编号分别为 1,,n1, \dots , n其中班长的编号为 1。 一共有 mm 个小群,第 ii 个小群有 numinum_i 个人。现在我们希望知道这个班最终有多少人没有收到消息。

这个问题比较简单,现在班长想知道,假如某些同学从某些群聊里面退出,可能会有多少人收不到消息,(这里规定如果同学退出了群聊,就不会回到群聊中去)

输入格式

第一行包含三个整数 nnmmqq,分别表示班级总人数和同学群的数量,以及离开同学群的的人数( 2n,2×1052 \leq n, \leq 2\times10^5, 1m,q2×1051\leq m, q \leq 2\times10^5 )。

接下来 mm 行,每行按如下格式描述一个同学群 cic_i 的成员构成: ki pi,1 pi,2  pi,kik_i\ p_{i,1}\ p_{i,2}\ \cdots\ p_{i,k_i}

其中:

  • kik_i1kin1\leq k_i \leq n )代表该同学群的成员数。
  • pi,1,pi,2,,pi,kip_{i,1},p_{i,2},\cdots,p_{i,k_i}1pi,jn1 \leq p_{i,j} \leq n )代表着该学生群的学生编号 。
  • pi,j1=pi,j2p_{i,j1} = p_{i,j2} 当且仅当 j1=j2j1=j2

接下来会有 qq 行,每行有两个整数 pip_i , cic_i ,代表着同学 pip_i 离开了同学群 cic_i , (这里确保同学 pip_i 目前还在同学群 cic_i)

对于所有的数据,保证 i=1mki106\sum_{i = 1}^{m}k_i \leq 10^6

输出格式

输出 qq 行,在同学 pip_i 离开了同学群 cic_i 后,有多少人会得不到班长发送的消息。

输入输出样例

  • 输入#1

    3 2 3
    2 1 2
    2 2 3
    3 2
    2 2
    2 1

    输出#1

    1
    1
    2
  • 输入#2

    3 2 1
    2 1 2
    2 2 3
    1 1

    输出#2

    2

说明/提示

对于第一个样例来说,
开始 1 号群聊有 1,2 ,2号群聊会有2,3两个人。
现在3号同学离开了2号群聊,1 号群聊有 1,2 ,2号群聊只有2,所以在班长发送完消息后只有 1,2 能收到消息。答案为3-2=1
接下来,2号同学离开了2号群聊,1 号群聊有 1,2 ,2号群聊没有人,,所以在班长发送完消息后只有 1,2 能收到消息。答案为3-2=1
最后,2号同学离开了1号群聊,1号群聊有 1 ,2号群聊没有人,,所以在班长发送完消息后只有 1 能收到消息。答案为3-1=2

首页