欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

Wikioi 天梯 1501/1842/3038/3143/3145

发布时间:2023/12/20 编程问答 40 豆豆
生活随笔 收集整理的这篇文章主要介绍了 Wikioi 天梯 1501/1842/3038/3143/3145 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

http://wikioi.com/training/?id=32



笔者终于受不了把解题报告写成教程的日子了,由于想写些交流思维的东西,笔者决定放弃Wikioi上普及一等之前的所(仅)(剩)的题目,只在这里留下代码。


PS:其他等级的科普题也将省略详细的讲解……




Wikioi 天梯 二叉树最大宽度和高度(1501)

Program asd; Varn,i,a,b,maxdeep,maxwide:longint;wide,deep:array[1..10000]of longint; Beginreadln(n);deep[1]:=1;wide[1]:=1;maxdeep:=1;maxwide:=1;for i:=1 to n dobeginread(a,b);if a<>0 thenbegindeep[a]:=deep[i]+1;inc(wide[deep[a]]);if deep[a]>maxdeep then maxdeep:=deep[a];if wide[deep[a]]>maxwide then maxwide:=wide[deep[a]];end;if b<>0 thenbegindeep[b]:=deep[i]+1;inc(wide[deep[b]]);if deep[b]>maxdeep then maxdeep:=deep[b];if wide[deep[b]]>maxwide then maxwide:=wide[deep[b]];end;end;writeln(maxwide,' ',maxdeep); End.
1842

Program asd; Varn,i:longint;f:array[-30..1]of longint;Beginf[1]:=5;f[0]:=5;for i:=-1 downto -30 dof[i]:=f[i+1]+f[i+2]+1;readln(n);if n>=0 then writeln(5)else writeln(f[n]); End.
3038

Program asd; Varn,i,a,tot:longint; Beginreadln(n);for i:=1 to n dobeginread(a);tot:=0;while a<>1 dobeginif odd(a) then a:=3*a+1 else a:=a div 2;inc(tot);end;writeln(tot);end; End.3143

Program asd; Varn,i,a,b:longint;tree:array[1..20]of recordl,r:longint;end;Procedure qian(aa:longint);beginwrite(aa,' ');if tree[aa].l<>0 then qian(tree[aa].l);if tree[aa].r<>0 then qian(tree[aa].r);end;Procedure zhong(aa:longint);beginif tree[aa].l<>0 then zhong(tree[aa].l);write(aa,' ');if tree[aa].r<>0 then zhong(tree[aa].r);end;Procedure hou(aa:longint);beginif tree[aa].l<>0 then hou(tree[aa].l);if tree[aa].r<>0 then hou(tree[aa].r);write(aa,' ');end;Beginreadln(n);for i:=1 to n do readln(tree[i].l,tree[i].r);qian(1);writeln;zhong(1);writeln;hou(1); End.

3145

Program asd; Varn:longint;Procedure hanoi(aa:longint;cc,dd,ee:char);beginif aa=1 thenbeginwriteln(1,' from ',cc,' to ',ee);exit;end;hanoi(aa-1,cc,ee,dd);writeln(aa,' from ',cc,' to ',ee);hanoi(aa-1,dd,cc,ee);end;Beginreadln(n);writeln(trunc(exp(ln(2)*n))-1);hanoi(n,'A','B','C'); End.

总结

以上是生活随笔为你收集整理的Wikioi 天梯 1501/1842/3038/3143/3145的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。