昨天比赛时我代码没有写出来还好思想有了,跟魁永说了,他也是这个想法;然后就做了,代码写了好久啊(感觉真是弱死了,而且wa了一次),今天自己写了1Y;感觉真是弱爆了;以后搜索要抓紧练习了;
#include<cstdio> #include<string.h> #include<algorithm> #include<vector> using namespace std; struct node { node() {lc=rc=-1;} int lc,rc; }; node aa[10]; int num[10]={0}; void dfs(int root,int cur) { num[cur]++; if(aa[root].lc!=-1) dfs(aa[root].lc,cur+1); if(aa[root].rc!=-1) dfs(aa[root].rc,cur+1); } int main() { int t; scanf("%d",&t); while(t--) { int n,x,a,b; scanf("%d",&n); memset(num,0,sizeof(num)); while(n--) { scanf("%d%d%d",&x,&a,&b); aa[x].lc=a;aa[x].rc=b; } dfs(1,0); printf("%d\n",*max_element(num,num+10)); } return 0; }/* 6 4 -1 -1 2 4 5 5 -1 -1 1 2 3 6 -1 -1 3 -1 6 6 3 4 6 5 2 -1 1 3 5 4 -1 -1 6 -1 -1 2 -1 -1 */