记录编号 |
552063 |
评测结果 |
AAAAAAAAAA |
题目名称 |
朋友圈 |
最终得分 |
100 |
用户昵称 |
U.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;
}