news 2026/3/1 0:07:14

2025年南京理工大学计算机考研复试机试真题(附 AC 代码 + 解题思路)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
2025年南京理工大学计算机考研复试机试真题(附 AC 代码 + 解题思路)

2025年南京理工大学计算机考研复试机试真题

2025年南京理工大学计算机考研复试上机真题

历年南京理工大学计算机考研复试上机真题

历年南京理工大学计算机考研复试机试真题

更多学校题目开源地址:https://gitcode.com/verticallimit1/noobdream

N 诺 DreamJudge 题库:输入 “学校名称” 即可筛选该校历年机试真题,题目均在考纲范围内,按难度自动排序。还可搭配《计算机考研机试攻略》刷题,书中题目可通过题号直接在题库中查找。

南京理工-树的高度

题目描述

Time Limit: 1000 ms
Memory Limit: 256 mb

树是一种特殊的图结构,有根树是一个有固定根的树。现在给定一棵有根树,编程求出树中所有节点到指定的根节点最远距离。

输入输出格式
输入描述:

第一行是两个整数N,M(1<=N<=10000,1<=M<=N),表示数的顶点数和根节点的编号,接下来N-1行,每行两个整数u,v(1<=u,v<=N),表示编号为u的节点和编号为v的节点间有一条边。

输出描述:

输出距离根节点最远的点到根的距离。

输入输出样例
输入样例#:
5 5 1 2 1 4 1 5 2 3
输出样例#:
3

代码一

  1. #include <bits/stdc++.h>
  2. using namespace std;
  3. int main()
  4. {
  5. int n, m;
  6. cin >> n >> m;
  7. //构建邻接表
  8. //adj[u]存储与节点u直接相连的所有邻居节点
  9. vector<vector<int>> adj(n + 1); //默认索引从0开始 所以要N+1
  10. //因为树是无向的 u和v要互相添加到对方的邻接表中
  11. for(int i = 0; i < n-1; i++)
  12. {
  13. int u, v;
  14. cin >> u >> v;
  15. adj[u].push_back(v);
  16. adj[v].push_back(u);
  17. }
  18. //bfs初始化
  19. vector<int> distance(n + 1, -1);//这个ditance数组存距离
  20. queue<int> q;//队列来BFS
  21. distance[m] = 0;//根节点入队
  22. q.push(m);
  23. //bfs遍历
  24. //从队列取出节点u 遍历u的所有邻居v
  25. while(!q.empty())
  26. {
  27. int u = q.front();
  28. q.pop();
  29. for(int v : adj[u])
  30. {
  31. if(distance[v] == -1)
  32. {
  33. distance[v] = distance[u] + 1;
  34. q.push(v);
  35. }
  36. }
  37. }
  38. int maxdist = 0;
  39. for(int i = 1; i <= n; i++)
  40. {
  41. if(maxdist < distance[i]) maxdist = distance[i];
  42. }
  43. cout << maxdist << endl;
  44. return 0;
  45. }

代码二

  1. #include<iostream>
  2. #include<queue>
  3. #include<vector>
  4. using namespace std;
  5. int main()
  6. {
  7. int N,M;
  8. cin >> N >> M;
  9. vector<vector<int>>Tree(N+1);
  10. vector<int> dist(N + 1, -1);
  11. for (int i = 0; i < N - 1; i++) {
  12. int x, y;
  13. cin >> x >> y;
  14. Tree[x].push_back(y);
  15. Tree[y].push_back(x);
  16. }
  17. queue<int>a;
  18. a.push(M);
  19. dist[M] = 0;
  20. int ans = 0;
  21. while (!a.empty()) {
  22. int b = a.front();
  23. a.pop();
  24. for (int j = 0; j < Tree[b].size(); j++) {
  25. int x = Tree[b][j];
  26. if (dist[x] != -1)
  27. continue;
  28. dist[x] = dist[b] + 1;
  29. a.push(x);
  30. if (dist[x] > ans)
  31. ans = dist[x];
  32. }
  33. }
  34. cout << ans << endl;
  35. return 0;
  36. }

代码三

  1. #include <bits/stdc++.h>
  2. using namespace std;
  3. vector<vector<int>> adj; // 邻接表
  4. vector<bool> visited;
  5. int max_depth = 0;
  6. void dfs(int node, int depth) {
  7. visited[node] = true;
  8. if (depth > max_depth) {
  9. max_depth = depth;
  10. }
  11. for (int neighbor : adj[node]) {
  12. if (!visited[neighbor]) {
  13. dfs(neighbor, depth + 1);
  14. }
  15. }
  16. }
  17. int main() {
  18. ios::sync_with_stdio(false);
  19. cin.tie(nullptr);
  20. int N, M;
  21. cin >> N >> M;
  22. adj.resize(N + 1); // 节点编号1~N
  23. visited.resize(N + 1, false);
  24. for (int i = 0; i < N - 1; ++i) {
  25. int u, v;
  26. cin >> u >> v;
  27. adj[u].push_back(v);
  28. adj[v].push_back(u);
  29. }
  30. dfs(M, 0);
  31. cout << max_depth << endl;
  32. return 0;
  33. }
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/2/19 21:42:26

2025年暨南大学计算机考研复试机试真题(附 AC 代码 + 解题思路)

2025年暨南大学计算机考研复试机试真题 2025年暨南大学计算机考研复试上机真题 历年暨南大学计算机考研复试上机真题 历年暨南大学计算机考研复试机试真题 更多学校题目开源地址&#xff1a;https://gitcode.com/verticallimit1/noobdream N 诺 DreamJudge 题库&#xff1…

作者头像 李华
网站建设 2026/2/23 19:43:57

2025年西北大学计算机考研复试机试真题(附 AC 代码 + 解题思路)

2025年西北大学计算机考研复试机试真题 2025年西北大学计算机考研复试上机真题 历年西北大学计算机考研复试上机真题 历年西北大学计算机考研复试机试真题 更多学校题目开源地址&#xff1a;https://gitcode.com/verticallimit1/noobdream N 诺 DreamJudge 题库&#xff1…

作者头像 李华
网站建设 2026/2/26 2:42:51

微信小程序uniapp-vue自驾游资助定制游旅游线路景点评论系统

文章目录具体实现截图主要技术与实现手段系统设计与实现的思路系统设计方法java类核心代码部分展示结论源码lw获取/同行可拿货,招校园代理 &#xff1a;文章底部获取博主联系方式&#xff01;具体实现截图 本系统&#xff08;程序源码数据库调试部署讲解&#xff09;带文档1万…

作者头像 李华
网站建设 2026/2/28 2:38:20

2025最新!专科生必看9大AI论文平台测评与推荐

2025最新&#xff01;专科生必看9大AI论文平台测评与推荐 2025年专科生必备的AI论文平台测评指南 随着人工智能技术在教育领域的广泛应用&#xff0c;越来越多的专科生开始借助AI工具提升论文写作效率与质量。然而&#xff0c;面对市场上琳琅满目的AI论文平台&#xff0c;如何…

作者头像 李华
网站建设 2026/2/22 7:28:55

学长亲荐8个AI论文工具,研究生轻松搞定开题报告!

学长亲荐8个AI论文工具&#xff0c;研究生轻松搞定开题报告&#xff01; AI工具让论文写作不再“卡壳” 在研究生阶段&#xff0c;论文写作是每位学生必须面对的挑战。无论是开题报告、文献综述还是最终的毕业论文&#xff0c;都需要大量的时间与精力。而随着AI技术的发展&…

作者头像 李华