大水题,dfs判连通块的数量,bfs每个点找朋友圈的最大直径~

#include<bits/stdc++.h>
using namespace std;
const int maxn=;
vector<int> g[maxn];
bool visit[maxn];
int N;
int maxdepth=;
void dfs (int s) {
visit[s]=true;
for (int i=;i<g[s].size();i++)
if (visit[g[s][i]]==false) dfs(g[s][i]);
}
int dfsTrave () {
int block=;
for (int i=;i<=N;i++)
if (visit[i]==false) dfs(i),block++;
return block;
}
void bfs (int s) {
int depth[maxn]={};
queue<int> q;
fill (visit,visit+maxn,false);
q.push(s);
visit[s]=true;
while (!q.empty()) {
int now=q.front();
q.pop();
for (int i=;i<g[now].size();i++)
if (visit[g[now][i]]==false) {
q.push(g[now][i]);
depth[g[now][i]]=depth[now]+;
visit[g[now][i]]=true;
maxdepth=max(maxdepth,depth[g[now][i]]);
}
}
}
int main () {
scanf ("%d",&N);
int k,x;
for (int i=;i<=N;i++) {
scanf ("%d",&k);
for (int j=;j<=k;j++) {
scanf ("%d",&x);
g[i].push_back(x);
g[x].push_back(i);
}
}
int block=dfsTrave();
for (int i=;i<=N;i++) bfs (i);
printf ("%d %d",block,max(,maxdepth-));
return ;
}

PAT T1014 Circles of Friends的更多相关文章

  1. 《转载》PAT 习题

    博客出处:http://blog.csdn.net/zhoufenqin/article/details/50497791 题目出处:https://www.patest.cn/contests/pa ...

  2. PAT Judge

    原题连接:https://pta.patest.cn/pta/test/16/exam/4/question/677 题目如下: The ranklist of PAT is generated fr ...

  3. PAT/字符串处理习题集(二)

    B1024. 科学计数法 (20) Description: 科学计数法是科学家用来表示很大或很小的数字的一种方便的方法,其满足正则表达式[+-][1-9]"."[0-9]+E[+ ...

  4. PAT 1041. 考试座位号(15)

    每个PAT考生在参加考试时都会被分配两个座位号,一个是试机座位,一个是考试座位.正常情况下,考生在入场时先得到试机座位号码,入座进入试机状态后,系统会显示该考生的考试座位号码,考试时考生需要换到考试座 ...

  5. PAT 1040. 有几个PAT(25)

    字符串APPAPT中包含了两个单词"PAT",其中第一个PAT是第2位(P),第4位(A),第6位(T):第二个PAT是第3位(P),第4位(A),第6位(T). 现给定字符串,问 ...

  6. PAT 1032. 挖掘机技术哪家强(20)

    为了用事实说明挖掘机技术到底哪家强,PAT组织了一场挖掘机技能大赛.现请你根据比赛结果统计出技术最强的那个学校. 输入格式: 输入在第1行给出不超过105的正整数N,即参赛人数.随后N行,每行给出一位 ...

  7. pat甲级题解(更新到1013)

    1001. A+B Format (20) 注意负数,没别的了. 用scanf来补 前导0 和 前导的空格 很方便. #include <iostream> #include <cs ...

  8. PAT (Basic Level) Practise 1040 有几个PAT(DP)

    1040. 有几个PAT(25) 时间限制 120 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CAO, Peng 字符串APPAPT中包含了两个单 ...

  9. PAT (Basic Level) Practise 1045 快速排序(离散化+主席树区间内的区间求和)

    1045. 快速排序(25) 时间限制 200 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CAO, Peng 著名的快速排序算法里有一个经典的划分 ...

随机推荐

  1. LUA利用第三方API访问数据库

    ===========数据库访问--第三方 http { upstream backend { drizzle_server 192.168.4.119:3306 protocol=mysql dbn ...

  2. VUE常用写法

    v-for: v-for ='item,key of data' v-for ='item,index in data'     @click='' @click='pop.show=false'   ...

  3. 【PAT甲级】1111 Online Map (30分)(dijkstra+路径记录)

    题意: 输入两个正整数N和M(N<=500,M<=N^2),分别代表点数和边数.接着输入M行每行包括一条边的两个结点(0~N-1),这条路的长度和通过这条路所需要的时间.接着输入两个整数表 ...

  4. python的logging库

    logging库 简介 logging库提供日志打印功能. 值得一提的是,不仅能打印到日志文件,还能打印到控制台. 日志级别 logging一共分为5个级别,从低到高依次为:  DEBUG<IN ...

  5. 动态设置 layui select 为选中状态

    // 当前的select的id $('#type').val('你的value值'); //更新全部 layui.form.render();

  6. pyqt:布局删除小部件

    参照:https://stackoverflow.com/questions/5899826/pyqt-how-to-remove-a-widget import sip layout.removeW ...

  7. stm32控制步进电机加减速

    实习公司项目需要控制步进电机,电机方面主要包括控制运动.加减速.限位.下面介绍一下在电机控制方面的心得,由于对于电机的控制不需要很精确,并且自身能力有限,相比于大牛有很大的差距. 1.需要实现的功能 ...

  8. css积累

    1. 图片底部3像素的问题解决方案        display: inline-block;       vertical-align: bottom;

  9. C语言传递二维数组

    方法一, 形参给出第二维的长度. 例如: #include <stdio.h> ] ) { int i; ; i < n; i++) printf("/nstr[%d] = ...

  10. 学习笔记(24)- plato-训练中文模型

    先处理中文语料.参考上篇笔记 1. 准备model_definition_file文件 官方文档给了例子, plato/example/config/ludwig/metalWOZ_seq2seq_l ...