著名的王牌间谍 007 需要执行一次任务,获取敌方的机密情报。已知情报藏在一个地下迷宫里,迷宫只有一个入口,里面有很多条通路,每条路通向一扇门。每一扇门背后或者是一个房间,或者又有很多条路,同样是每条路通向一扇门…… 他的手里有一张表格,是其他间谍帮他收集到的情报,他们记下了每扇门的编号,以及这扇门背后的每一条通路所到达的门的编号。007 发现不存在两条路通向同一扇门。

内线告诉他,情报就藏在迷宫的最深处。但是这个迷宫太大了,他需要你的帮助 —— 请编程帮他找出距离入口最远的那扇门。

输入格式:

输入首先在一行中给出正整数 N(<10​5​​),是门的数量。最后 N 行,第 i 行(1≤i≤N)按以下格式描述编号为 i 的那扇门背后能通向的门:

K D[1] D[2] ... D[K]

其中 K 是通道的数量,其后是每扇门的编号。

输出格式:

在一行中输出距离入口最远的那扇门的编号。题目保证这样的结果是唯一的。

输入样例:

13
3 2 3 4
2 5 6
1 7
1 8
1 9
0
2 11 10
1 13
0
0
1 12
0
0

输出样例:12



解题思路:这道题就是说给你N个数,代表N个结点,第i行,每行有K个数;
让你找树深度最深的那个结点;题目注意要先找出根,其实题目没出现的数字就是根,所以我
们可以把孩子都标记起来,没有被标记的就是根;我们可以先用一个vector把孩子都放在共同的父亲上,
然后孩子的深度都比父亲多一;代码如下:
 #include<iostream>
#include<vector>
#include<queue>
using namespace std; int N;
int K;
int tmp;
bool vis[];//用来标记点是否出现过,方便找出根结点;
vector<int>v[]; //动态数组,将相同父亲的孩子放入父亲的vector中;
int depth[]; //用来记录每个数字的深度;
int root;
int tp;
int maxnn = -; //用来找深度最大的;
int ans = -; //用来记录答案;
int main()
{
queue<int>q;
scanf("%d",&N);
for(int i = ; i <= N ;i++)
{
scanf("%d",&K);
while(K--)
{
scanf("%d",&tmp);
v[i].push_back(tmp); //将孩子结点放入父亲的数组中;
vis[tmp] = ; //标记该点是孩子结点;
}
} for(int j = ; j <= N ;j++)
{
if(vis[j]!=)
{
root = j ; //找到根结点;
}
}
q.push(root); //将根结点入队;
depth[root] = ; //根的深度为1;
while(!q.empty())
{
tp = q.front();
q.pop();
for(int j = ; j < v[tp].size();j++)
{
depth[v[tp][j]] = depth[tp]+; //每个孩子的深度比父亲多一;
q.push(v[tp][j]); //将孩子入队,重复过程;
}
} for(int j = ; j <= N ;j++)
{
if(depth[j]>maxnn)
{
maxnn = depth[j]; //找最大深度的;
ans = j; //找到答案;
}
}
printf("%d\n",ans); return ;
}


PTA 7-2 深入虎穴 (30 分)的更多相关文章

  1. PTA 05-树9 Huffman Codes (30分)

    题目地址 https://pta.patest.cn/pta/test/16/exam/4/question/671 5-9 Huffman Codes   (30分) In 1953, David ...

  2. PTA 词频统计(30 分)

    词频统计(30 分) 请编写程序,对一段英文文本,统计其中所有不同单词的个数,以及词频最大的前10%的单词. 所谓“单词”,是指由不超过80个单词字符组成的连续字符串,但长度超过15的单词将只截取保留 ...

  3. PTA 08-图9 关键活动 (30分)

    题目地址 https://pta.patest.cn/pta/test/15/exam/4/question/719 假定一个工程项目由一组子任务构成,子任务之间有的可以并行执行,有的必须在完成了其它 ...

  4. PTA 7-3 编辑距离问题 (30 分)

    一.实践题目 设A和B是2个字符串.要用最少的字符操作将字符串A转换为字符串B.这里所说的字符操作包括: ()删除一个字符: ()插入一个字符: ()将一个字符改为另一个字符. 将字符串A变换为字符串 ...

  5. PTA 社交网络图中结点的“重要性”计算(30 分)

    7-12 社交网络图中结点的“重要性”计算(30 分) 在社交网络中,个人或单位(结点)之间通过某些关系(边)联系起来.他们受到这些关系的影响,这种影响可以理解为网络中相互连接的结点之间蔓延的一种相互 ...

  6. 二叉搜索树的结构(30 分) PTA 模拟+字符串处理 二叉搜索树的节点插入和非递归遍历

    二叉搜索树的结构(30 分) PTA 模拟+字符串处理 二叉搜索树的节点插入和非递归遍历   二叉搜索树的结构(30 分) 二叉搜索树或者是一棵空树,或者是具有下列性质的二叉树: 若它的左子树不空,则 ...

  7. PTA 11-散列4 Hard Version (30分)

    题目地址 https://pta.patest.cn/pta/test/16/exam/4/question/680 5-18 Hashing - Hard Version   (30分) Given ...

  8. PTA 04-树6 Complete Binary Search Tree (30分)

    题目地址 https://pta.patest.cn/pta/test/16/exam/4/question/669 5-7 Complete Binary Search Tree   (30分) A ...

  9. PTA数据结构与算法题目集(中文) 7-36 社交网络图中结点的“重要性”计算 (30 分)

    PTA数据结构与算法题目集(中文)  7-36 社交网络图中结点的“重要性”计算 (30 分) 7-36 社交网络图中结点的“重要性”计算 (30 分)   在社交网络中,个人或单位(结点)之间通过某 ...

  10. PTA 7-3 畅通工程之最低成本建设问题 (30分)

    PTA 7-3 畅通工程之最低成本建设问题 (30分) 现有村落间道路的统计数据表中,列出了有可能建设成标准公路的若干条道路的成本,求使每个村落都有公路连通所需要的最低成本. 输入格式: 输入数据包括 ...

随机推荐

  1. 使用C#通过Oracle.DataAccess连接Oracle,部署时需要注意版本问题

    平时我们开发使用的是32位的PC机,所以安装的也是Oracle32位的客户端.但是一般服务器都是64位的,安装的也是64位的Oracle客户端,如果要部署使用Oracle.DataAccess连接Or ...

  2. cdn path b 问题

    主节点内存和磁盘最好大点,许多默认东西都放主节点了 mysql 配置文件修改后server-id = 1 1.hive 启动不起来 去配置里关掉 严格的 Hive Metastore 架构验证 hiv ...

  3. 2017年Java学习总结

    2017年Java学习      Java,是我学习的第三种计算机编程语言,刚拿到这本教材时,我被它的厚度与书中字体的密集程度吓了一跳,不过在学习过程中,有Python,C语言的学习基础上,加上老师的 ...

  4. java算法 第七届 蓝桥杯B组(题+答案) 3.凑算式

    3.凑算式  (结果填空) B      DEFA + --- + ------- = 10     C      GHI         (如果显示有问题,可以参见[图1.jpg]) 这个算式中A~ ...

  5. Nginx源码完全注释(2)ngx_array.h / ngx_array.c

    数组头文件 ngx_array.h #include <ngx_config.h> #include <ngx_core.h> struct ngx_array_s { voi ...

  6. UNITY技巧-查找脚本被哪个场景引用

  7. JS回调函数深入篇

    <有些错别字> 在Javascript中,函数是第一类对象,这意味着函数可以像对象一样按照第一类管理被使用.既然函数实际上是对象:它们能被“存储”在变量中,能作为函数参数被传递,能在函数中 ...

  8. jquery的get()方法

    通过检索匹配jQuery对象得到对应的DOM元素. .get( [index ] ) index 类型: Integer 从0开始计数,用来确定获取哪个元素. .get() 方法允许我们直接访问jQu ...

  9. LWIP带UCOS操作系统移植

    LWIP支持RAW.NETCONN.SOCKET这三种编程接口,后两者必须有操作系统来支持的:LWIP带操作系统的移植很重要!!

  10. Windows下搭建JSP开发环境

    1. 配置说明: => 编辑器: Eclipse (Java EE IDE) => 数据库: MySQL (MySQL Workbench 进行数据库管理, 用 MySQL Connect ...