1 条题解
-
0
C++ :
#include<cstdio> int l[1000],r[1000],f[1000]; int dfs(int n) { if(n==f[n]) return n; return dfs(f[n]); } void xianxu(int k) { printf("%d ",k); if(l[k]) xianxu(l[k]); if(r[k]) xianxu(r[k]); } void zhongxu(int k) { if(l[k]) zhongxu(l[k]); printf("%d ",k); if(r[k]) zhongxu(r[k]); } void houxu(int k) { if(l[k]) houxu(l[k]); if(r[k]) houxu(r[k]); printf("%d ",k); } int main() { int i,n,a,b,c; scanf("%d",&n); for(i=1;i<=n;i++) f[i]=i; for(i=1;i<=n;i++) { scanf("%d%d%d",&a,&b,&c); l[a]=b,r[a]=c; f[b]=f[c]=a; } int root=dfs(n); printf("%d\n",root); xianxu(root); printf("\n"); zhongxu(root); printf("\n"); houxu(root); printf("\n"); return 0; }
- 1
信息
- ID
- 864
- 时间
- 1000ms
- 内存
- 128MiB
- 难度
- (无)
- 标签
- 递交数
- 0
- 已通过
- 0
- 上传者