搜索
热搜: NOIP OIer 神牛
查看: 16|回复: 1

1805

[复制链接]

主题

帖子

0

积分

新手上路

Rank: 1

积分
0
发表于 2025-4-12 17:06:48 | 显示全部楼层 |阅读模式
#include<bits/stdc++.h>
using namespace std;
struct Snode{
        char data;
        vector<int> children;
};
int dfs(Snode nodes[11],int head){
        vector<int> children=nodes[head].children;
        if(children.size()==0){
                return 1;
        }
        int maxsize=-1;
        for(int i=0;i<children.size();i++){
                maxsize=max(maxsize,dfs(nodes,children[i]));
        }
        return maxsize+1;
}
int main(){
        Snode nodes[11]={
                {},
                {'H',{2,3,4}},
                {'e',{5,6}},
                {'o',vector<int>()},
                {'W',{7}},
                {'l',vector<int>()},
                {'l',vector<int>()},
                {'o',{8,9,10}},
                {'r',vector<int>()},
                {'l',vector<int>()},
                {'d',vector<int>()},
        };
        fill(parent,parent+11,-1);
        for(int i=1;i<=10;i++){
                vector<int>children=nodes[i].children;
                for(int j=0;j<children.size();j++){
                        parent[children[j]]=i;
                }
                degree[i]=children.size();
        }
        for(int i=1;i<=10;i++){
                if(parent[i]==-1){
                        head=i;
                }
        }
        printf("%c\n",nodes[head].data);
        for(int i=1;i<=10;i++){
                printf("%d ",degree[i]);
        }
    cout<<"\n";
        printf("%d\n",dfs(nodes,head));
        return 0;
}


回复

使用道具 举报

主题

帖子

0

积分

新手上路

Rank: 1

积分
0
 楼主| 发表于 2025-4-12 17:07:11 | 显示全部楼层
(没)有错!!!!!!!!!!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

津ICP备19006949号-1 | 津公网安备12010102000465号

快速回复 返回顶部 返回列表