level 8
NOIP2001普及组第四题
问题描述
有一个箱子容量为V(正整数,0<=V<=20000),同时有n个物品(0<n<=30=,每个物品有一个体积(正整数)。
要求n个物品中,任取若干个装入箱内,使箱子的剩余空间为最小。
样例
输入:
24 一个整数,表示箱子容量
6 一个整数,表示有n个物品
8 接下来n行,分别表示这n 个物品的各自体积
3
12
7
9
7
输出:
0 一个整数,表示箱子剩余空间。
2015年02月09日 05点02分
2
level 8
题目描述 Description 一般的文本编辑器都有查找单词的功能,该功能可以快速定位特定单词在文章中的位置,有的还能统计出特定单词在文章中出现的次数。
现在,请你编程实现这一功能,具体要求是:给定一个单词,请你输出它在给定的文章中出现的次数和第一次出现的位置。注意:匹配单词时,不区分大小写,但要求完全匹配,即给定单词必须与文章
中的某一独立单词在不区分大小写的情况下完全相同(参见样例1 ),如果给定单词仅是文章中某一单词的一部分则不算匹配(参见样例2 )。 输入输出格式 Input/output输入格式:
输入文件名为stat.in ,2 行。
第1 行为一个字符串,其中只含字母,表示给定单词;
第2 行为一个字符串,其中只可能包含字母和空格,表示给定的文章。
输出格式:
输出文件名为stat.out 。
只有一行,如果在文章中找到给定单词则输出两个整数,两个整数之间用一个空格隔开,分别是单词在文章中出现的次数和第一次出现的位置(即在文章中第一次出现时,单词首字母在文章中的位置,位置从 0 开始);如果单词在文章中没有出现,则直接输出一个整数-1。
2015年02月10日 06点02分
4
level 8
var ss:string;
procedure zhengshu(var s:string);
var i:longint;
begin
for i:=length(s) downto 1 do
if s[i]='0' then delete(s,i,1) else break;
for i:=length(s) downto 1 do
write(s[i]);
end;
procedure xiaoshu(var s:string);
var i,x:longint;
ss:string;
begin
x:=pos('.',s)-1;
ss:=s;
for i:=x downto 1 do
if s[i]='0' then delete(s,i,1) else break;
for i:=x downto 1 do
write(s[i]);
write('.');
inc(x,2);
for i:=x to length(ss) do
if ss[i]='0' then delete(ss,i,1) else break;
for i:=length(ss) to x do
write(ss[i]);
end;
procedure fenshu(var s:string);
var s1,s2:string;
begin
s1:=copy(s,1,pos('/')-1);
s2:=copy(s,pos'/'+1,length(s)-pos'/'+1);
zhengshu(s1);
write('/');
zhengshu(s2);
end;
procedure baifenshu(var s:string);
var s1:string;
begin
s1:=copy(s,1,length(s)-1);
zhengshu(s1);
write('%')
end;
begin
readln(ss);
if pos('.',ss)>0 then xiaoshu(ss) else
if pos('/',ss)>0 then fenshu(ss) else
if pos('%',ss)>0 then baifenshu(ss) else
zhengshu(ss);
end.
2015年02月10日 09点02分
7