找树的根和孩子
【问题描述】
给定一棵树,输出树的根root,孩子最多的结点max以及他的孩子
【输入格式】
第一行:n(结点数<=100),m(边数<=200)。 以下m行;每行两个结点x和y,表示y是x的孩子(x,y<=1000)。
【输出格式】
第一行:树根:root。 第二行:孩子最多的结点max。第三行:max的孩子。
【输入样例】
8 7
4 1
4 2
1 3
1 5
2 6
2 7
2 8
【输出样例】
4
2
6 7 8
【参考程序】
1 #include<iostream> 2 using namespace std; 3 int n,m,tree[101]={0}; 4 int main() 5 { 6 int i,x,y,root,maxroot,sum=0,j,Max=0; 7 cin>>n>>m; 8 for(i=1;i<=m;i++) 9 { 10 cin>>x>>y; 11 tree[y]=x; 12 } 13 for(i=1;i<=n;i++) //找出树根 14 if(tree[i]==0) 15 { 16 root=i;break; 17 } 18 for(i=1;i<=n;i++) //找孩子最多的结点 19 { 20 sum=0; 21 for(j=1;j<=n;j++) 22 if(tree[j]==i) sum++; 23 if(sum>Max) 24 { 25 Max=sum;maxroot=i; 26 } 27 } 28 cout<<root<<endl<<maxroot<<endl; 29 for(i=1;i<=n;i++) 30 if(tree[i]==maxroot) cout<<i<<" "; 31 return 0; 32 }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 如何调用 DeepSeek 的自然语言处理 API 接口并集成到在线客服系统
· 【译】Visual Studio 中新的强大生产力特性
· 2025年我用 Compose 写了一个 Todo App
2016-07-15 并查集详解 (转)