公司动态
【题解-信息学奥赛一本通】1336:【例3-1】找树根和孩子
题目1336【例3-1】找树根和孩子题目描述给定一棵树输出树的根root孩子最多的结点max以及他的孩子。输入第一行n结点个数≤100m边数≤200。以下m行每行两个结点x和y表示y是x的孩子(x,y≤1000)。输出第一行树根root第二行孩子最多的结点max第三行max的孩子按编号由小到大输出。时空限制1s / 64MB样例输入8 7 4 1 4 2 1 3 1 5 2 6 2 7 2 8样例输出4 2 6 7 8代码#includebits/stdc.husingnamespacestd;constintN100010;intn,m,x,y,fa[N],minn1e9,maxx,j,sonj;boolst[N];vectorintg[N];intmain(){cinnm;while(m--){cinxy;g[x].push_back(y);st[x]st[y]true;fa[y]x;minnmin(minn,min(x,y));maxxmax(maxx,max(x,y));}for(intiminn;imaxx;i){if(!fa[i]st[i])coutiendl;}for(intiminn;imaxx;i)if(g[i].size()sonj){sonjg[i].size();ji;}coutjendl;sort(g[j].begin(),g[j].end());for(inti0;ig[j].size();i)coutg[j][i] ;return0;}结果