1112 求先序排列【NOIP2001普及组】 1113 装箱问题【NOIP2001普及组】

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

求先序排列【NOIP2001普及组】

Time Limit:10000MS Memory Limit:65536K

Total Submit:4 Accepted:4

Description

给出一棵二叉树的中序与后序排列。求出它的先序排列。(约定树结点用不同的大写字母表示,长度<= 8)。

样例输入:

BADC

BDCA

样例输出:

ABCD

Input

Output

Sample Input

BADC

BDCA

Sample Output

ABCD

Source

∙var

∙ s1,s2:string;

∙procedure dfs(s1,s2:string);

∙var ch:char;

∙ p:longint;

∙begin

∙ if length(s1)=0 then exit;

∙ ch:=s2[length(s2)];

∙ write(ch);

∙ p:=pos(ch,s1);

∙ dfs(copy(s1,1,p-1),copy(s2,1,p-1));

∙ dfs(copy(s1,p+1,length(s1)-p),copy(s2,p,length(s2)-p)); ∙end;

∙begin

∙ readln(s1);

∙ readln(s2);

∙ dfs(s1,s2);

∙end.

装箱问题【NOIP2001普及组】

Time Limit:10000MS Memory Limit:65536K

Total Submit:23 Accepted:20

Description

有一个箱子容量为V(正整数,0 <=V <=20000),同时有n个物品(0 <n <=30),每个物品有一个体积(正整数)。要求n个物品中,任取若干个装入箱内,使箱子的剩余空间为最小。

Input

24一个整数,表示箱子容量

6一个整数,表示有n个物品

8接下来n行,分别表示这n 个物品的各自体积

3

12

7

9

7

Output

0一个整数,表示箱子剩余空间。

Sample Input

24 {一个整数,表示箱子容量}

6 {一个整数,表示有n个物品}

8 {接下来n行,分别表示这n 个物品的各自体积}

3

12

7

9

7

Sample Output

0 {一个整数,表示箱子剩余空间} Source

∙var

∙ i,j,n,v,x:longint;

∙ a:array[0..20000] of boolean;

∙begin

∙ readln(v);

∙ readln(n);

∙ a[0]:=true;

∙ for i:=1 to n do begin

∙ readln(x);

∙ for j:=v-x downto 0 do if a[j] then ∙ a[j+x]:=true;

∙ end;

∙ j:=0;

∙ for i:=v downto 0 do if a[i] then begin ∙ j:=i; break;

∙ end;

∙ writeln(v-j);

∙end.

相关文档
最新文档