链接:https://www.nowcoder.com/questionTerminal/1fe6c3136d2a45fa8ef555b459b6dd26
来源:牛客网

小A参加了一个n人的活动,每个人都有一个唯一编号i(i>=0 & i<n),其中m对相互认识,在活动中两个人可以通过互相都认识的一个人介绍认识。现在问活动结束后,小A最多会认识多少人?

输入描述:

第一行聚会的人数:n(n>=3 & n<10000);
第二行小A的编号: ai(ai >= 0 & ai < n);
第三互相认识的数目: m(m>=1 & m
< n(n-1)/2);
第4到m+3行为互相认识的对,以','分割的编号。

输出描述:

输出小A最多会新认识的多少人?

示例1

输入

7
5
6
1,0
3,1
4,1
5,3
6,1
6,5

输出

3

分析:vector<int>mp[]标记两个人是否相互认识(0/1),vis[]标记这个人小A是否认识,栈q存放小q认识的人,st记录小A刚开始认识的人,ans记录栈q下小A认识的人,由于栈q时重复计算了小A本身,所以结果-1

#include<iostream>
#include<cmath>
#include<cstdio>
#include<stack>
#include<vector>
using namespace std;
int main()
{int n, t, m;int vis[10000]={0};///小A是否认识这个人vector<int>mp[10000];cin>>n>>t>>m;int a,b;stack<int>q;while(!q.empty())q.pop();int st = 0;while(m--){scanf("%d,%d", &a, &b);mp[a].push_back(b);mp[b].push_back(a);if(a==t||b==t){st++;}}q.push(t);int ans = 0;while(!q.empty())///查找小A认识的人 所认识的人{int x = q.top();vis[x] = 1;ans++;q.pop();for(int i = 0; i < mp[x].size(); i++){if(vis[mp[x][i]]==0)///这个人是不是小A认识的{vis[mp[x][i]] = 1;q.push(mp[x][i]);}}}cout<<ans-st-1<<endl;return 0;
}

小A最多新会认识多少人相关推荐

  1. B站笔试真题之[编程题]小A最多会新认识的多少人

    前言 这道题连着踩了两个坑,一个是不支持numpy,另一个是matlab的矩阵计算较为耗时,发出来供大家避免这种错误. 题目 链接:https://www.nowcoder.com/questionT ...

  2. QQ邮箱每次可以群发多少人呢?探秘邮箱最多可以群发多少人?

    在外贸和物流行业里经常会需要邮箱来传递业务,小编是一个外贸行业的一员,在深处外贸行业里发现经常会有一些员工是需要邮箱群发邮件来实现业务上的往来,用TOM.QQ.163的都有,那么邮箱如何群发给多个邮箱 ...

  3. 面对微信小程序的火爆,很多人却陷入了这8个误区

    面对微信小程序的火爆,很多人却陷入了这8个误区 摘要: 小程序目前被炒得沸沸扬扬,无数媒体和企业借机获取阅读流量.这再次证明一点,微信想让什么火,真的就能让什么火.这种能力真是全中国再也没有人有了,政 ...

  4. 小程序源码:全网独家小程序版本独立微信社群人脉系统社群空间站最新源码开源+详细教程

    功能介绍: 1.微信社群是一个集发布.展示社群信息.人脉推广的裂变工具/平台. 2.通过人脉广场,将商家信息通过名片进行展示,让资源对接.人脉推广更加便捷高效.为平台带来更多流量,让平台更有价值. 3 ...

  5. 对某班学生成绩排序。从键盘依次输入某班学生的姓名和成绩(一个班级人数最多不超过50人)并保存,然后分别按学生成绩由高到低顺序输出学生姓名和成绩,成绩相同时,则按输入次序排序。

    [问题描述] 对某班学生成绩排序.从键盘依次输入某班学生的姓名和成绩(一个班级人数最多不超过50人)并保存,然后分别按学生成绩由高到低顺序输出学生姓名和成绩,成绩相同时,则按输入次序排序. [输入形式 ...

  6. 某博物馆最多可容纳500人同时参观,有一个出入口,该出入口一次仅允许一个人通过。

    某博物馆最多可容纳500人同时参观,有一个出入口,该出入口一次仅允许一个人通过.参观者的活动描述如下: cobegin 参观者进程i: { - 进门: - 参观: - 出门: - } coend 请添 ...

  7. 凯格精机通过注册:拟募资5亿 邱国良与彭小云夫妇为实控人

    雷递网 雷建平 6月20日报道 东莞市凯格精机股份有限公司(简称:"凯格精机")日前通过注册,预计近期在深交所创业板上市. 凯格精机计划募资5.13亿元,其中,2.38亿元用于精密 ...

  8. 某班期末考试科目为数学(MT)、英语(EN)和物理(PH),有最多不超过40人参加考试。请编程计算:(1)每个学生的总分和平均分;(2)每门课程的总分和平均分。

    某班期末考试科目为数学(MT).英语(EN)和物理(PH),有最多不超过40人参加考试.请编程计算:(1)每个学生的总分和平均分:(2)每门课程的总分和平均分. **输入格式要求:"%d&q ...

  9. 微信小程序:全网独家小程序版本独立微信社群人脉

    功能介绍: 1.微信社群是一个集发布.展示社群信息.人脉推广的裂变工具/平台. 2.通过人脉广场,将商家信息通过名片进行展示,让资源对接.人脉推广更加便捷高效.为平台带来更多流量,让平台更有价值. 3 ...

最新文章

  1. windows版influxDB安装与配置
  2. Spring-国际化信息01-基础知识
  3. 05.full_text match_bool_prefix match_phrase_prefix 查询
  4. python爬虫深入爬取_Python爬虫初学(一)—— 爬取段子
  5. 解决 linux 下安装 node 报: command not found
  6. HDOJ 1285 确定比赛名次(拓扑排序)
  7. 无需埋点的移动数据分析平台GrowingIO V1.0
  8. pytorch梯度下降函数_Pytorch学习笔记6:激活函数/单层感知机/梯度下降求最小值实例...
  9. vue表格刷新数据_Vue.js的列表数据的同步更新方法
  10. windows查看本机ip地址
  11. 【2021-09-22 修订】【梳理】计算机网络:自顶向下方法 第二章 应用层(docx)
  12. VS中更改项目名称(以VS2017为例)
  13. ubutnu18.04/20.04 接入HDMI显示器后,在 root用户下不能播放声音之解决方案
  14. android 抽奖动画下载,召唤抽奖系统正式版
  15. 吴宇森导演的《赤壁》电影观后感
  16. 51nod 1298 圆与三角形(几何知识)
  17. 使用genymotion模拟器下载软件出现unfortunately browser has stopped错误
  18. day1 - SDK入门
  19. Windows(IA-32e模式)系统调用
  20. oracle中timestamp怎么用,Oracle Timestamp类型

热门文章

  1. 探索VGG网络与LeNet网络对精度的影响
  2. Hexo博客yilia主题添加Gitment评论系统
  3. AES算法以及前端使用实例
  4. SQLMap使用攻略
  5. python 滤波函数_Python中的斑点(Lee滤波器)
  6. 小脑的语言、工作记忆、社会和情绪处理的三重表征
  7. 新闻采集系统python_抓取网易新闻的python代码示例
  8. 怎样进入 Windows 10 的“开发者模式”
  9. win10系统开启linux,win10系统开启linux系统的操作方法
  10. JVM ,JRE和JDK的关系