记录编号 552063 评测结果 AAAAAAAAAA
题目名称 朋友圈 最终得分 100
用户昵称 GravatarU.N.A 是否通过 通过
代码语言 C++ 运行时间 0.030 s
提交时间 2020-07-18 15:37:50 内存使用 13.82 MiB
显示代码纯文本
#include<bits/stdc++.h>
using namespace std;
#define mint long long int
mint n,m,ans;
bool congrauat[10001];
struct u{
    mint x,y;
    //x与y为朋友 
};
u nccop[10001];//输入必备 
bool cmp(u i,u j){
    return (i.x<i.y)?1:0; //排序 
}
int main(){
    freopen("friendscircle.in","r",stdin);//freopen 
    freopen("friendscircle.out","w",stdout);//freopen
    cin>>n>>m;//输入 
    int a=1;
    congrauat[a]=true;//新闻从1号传出,1号知道消息 
    for(mint i=1;i<=m;i++){
        cin>>nccop[i].x>>nccop[i].y;//输入 
        if(nccop[i].x<nccop[i].y){
            swap(nccop[i].x,nccop[i].y);
            //将a,b排序为a<b为止,方便扫描 
        }
    } 
    for(mint j=1;j<=n;j++)
        for(mint i=1;i<=m;i++){//扫描朋友关系 
            if(congrauat[nccop[i].x] ) congrauat[nccop[i].y]=true;
            else if(congrauat[nccop[i].y] ) congrauat[nccop[i].x]=true;
            //因为是a与b为朋友,则a与b中任意一方看到了新闻,其余一方也会获取到新闻 
        }
    ans=0;//ans清零 
    for(mint i=1;i<=n;i++){//扫描congrauat 
        if(congrauat[i]) ans++;//如果为true,则获取到了新闻 
    }
    cout<<ans;//输出 
    fclose(stdin);//fclose
    fclose(stdout);//fclose
    return 0;
}