找树根和孩子
来源:互联网 发布:好的高中数学软件 编辑:程序博客网 时间:2024/05/01 05:13
找树根和孩子
Time Limit : 3000/1000ms (Java/Other) Memory Limit : 65535/32768K (Java/Other)
Total Submission(s) : 14 Accepted Submission(s) : 6
Font: Times New Roman | Verdana | Georgia
Font Size: ← →
Problem Description
给定一棵树,输出树的根root,孩子最多的结点max以及他的孩子
Input
输入的第一行为T,表示测试数据的组数。对于每组测试数据的第一行:n(结点数<=100),m(边数<=200)。以下m行;每行两个结点x和y,表示y是x的孩子(x,y<=1000)。
Output
对于每组测试数据:
第一行:树根:root。
第二行:孩子最多的结点max。
第三行:max的孩子。
第一行:树根:root。
第二行:孩子最多的结点max。
第三行:max的孩子。
Sample Input
18 74 14 21 31 52 62 72 8
Sample Output
42 6 7 8
i12345678father44101222child13020000
/*首先读入数据,将每个点的父节点存入father数组中,遍历一边哪个点没有父节点就是根节点,读入的同时将每个父节点拥有的孩子数存入child数组中,即可求出哪个节点孩子最多,具体数据样例如上表所示*/#include<iostream>#include <stdio.h>#include <string.h>using namespace std;int main (){ int a,b,j,q; int father[1050],child[1050]; int t; int n,m,max1; scanf("%d",&t); while(t--) { max1=0; q=0; memset(father,0,sizeof(father)); memset(child,0,sizeof(child)); scanf("%d%d",&n,&m); for(int i=1; i<=m; i++) { scanf("%d%d",&a,&b); father[b]=a; child[a]++; } for(int i=1; i<=n; i++) { if(father[i]==0) printf("%d\n",i); } for(int i=1;i<=n;i++) { if(max1<child[i]) { max1=child[i];//记录个数用于输出格式 j=i; } } printf("%d\n",j); for(int i=1;i<=n;i++) { if(father[i]==j) { q++; if(q!=max1)//如果不是最后一个就输出一个空格最后一个则不要输出空格 printf("%d ",i); else printf("%d",i); } } printf("\n"); } return 0;}
- 找树根和孩子
- 找树根和孩子
- 找树根和孩子
- 26791: 找树根和孩子
- 练习赛10.2.找树根和孩子
- 数据结构 找树根和孩子(树)
- 树根
- 孩子找父亲 ,父亲找孩子的写法
- C. 袋鼠妈妈找孩子
- ecnu3260(袋鼠妈妈找孩子)
- 孩子找不到家的感觉
- 孩子找不到家的感觉
- 上Craigslist网找孩子他爹
- ecnu 3260 袋鼠妈妈找孩子
- EOJ 3260:袋鼠妈妈找孩子
- EOJ 3260 袋鼠妈妈找孩子 题解
- QuickFindChildAndComponent (Unity快速找孩子的组件)
- 二叉树根据前序遍历和中序遍历构造
- 二分(折半)查找
- git获取Spring framework,用gradle构建并打包,maven负责依赖
- hdu 4784 Dinner Coming Soon
- 找call总结
- Asp.Net Ajax (1)---入门篇
- 找树根和孩子
- MySQL无法使用、导入中文数据乱码
- Kruskal 最小生成树
- 编译基于arm平台的内核,出现error: invalid option `abi=aapcs-linux'
- 手势识别 -- 遨游浏览器所见所想 android的Binder机制
- 网络中环的检测
- 【转】linux 安装Tesseract-OCR
- 采用Spring管理Bean和依赖注入
- win7下先安iis再安装apache无法启动的解决办法