1004. Counting Leaves (30)
复制代码
1 #include<cstdio> 2 #include<cstring> 3 using namespace std; 4 const int maxn = 105; 5 struct Node 6 { 7 int father; 8 int level; 9 bool NoChild; 10 }; 11 12 Node v[maxn]; 13 int level[maxn]; 14 15 int main() 16 { 17 int N,M,i,j,c,ID,child; 18 int MAXLevel = 1; 19 scanf("%d%d",&N,&M); 20 for(i=0;i<100;i++) 21 { 22 v[i].father=0; 23 v[i].level=0; 24 v[i].NoChild=1; 25 } 26 for(i=0;i<M;i++) 27 { 28 scanf("%d%d",&ID,&c); 29 v[ID].NoChild=0; 30 for(j=0;j<c;j++) 31 { 32 scanf("%d",&child); 33 v[child].father = ID; 34 } 35 } 36 37 v[1].level=1; 38 for(i=1;i<=N;i++) 39 for(j=1;j<=N;j++) 40 { 41 //如果其根节点是i 42 if(v[j].father==i) 43 { 44 v[j].level = v[v[j].father].level+1; 45 if(v[j].level > MAXLevel) 46 MAXLevel = v[j].level; 47 } 48 } 49 50 for(i=1;i<=N;++i) 51 if(v[i].NoChild==1) 52 level[v[i].level]++; 53 for(i=1;i<MAXLevel;++i) 54 printf("%d ",level[i]); 55 printf("%d\n",level[i]); 56 return 0; 57 }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)