SP9788

题意

形式化:给定一个图,求其与指定的点之间没有边的点数。

思路

求出这个图中的点数 $tot$(不包含指定的那个点),减去与指定的那个点之间有边连接的点数 $n$,即为答案。

统计 $tot$ 时,只需要对输入的点进行去重即可。

下边的这张图为我们解释了 Bob 在样例中复杂的人际关系。

代码

#include<bits/stdc++.h>
using namespace std;
const int maxa=1e4+5;
long long n,tot,x,y;
bool v[maxa];//去重
int main(){
    scanf("%lld",&n);
    for(int i=1;i<=n;i++){
        scanf("%lld%lld",&x,&y);
        if(v[x]==0)v[x]=1,tot++;
        while(y--){
            scanf("%lld",&x);
            if(v[x]==0)v[x]=1,tot++;
        }
    }
    printf("%lld",tot-n);
}
posted @ 2023-08-08 20:41  changwenxuan  阅读(14)  评论(0)    收藏  举报  来源