P1035 vijos 贪婪的送礼者的解题报告

来源:百度知道 编辑:UC知道 时间:2024/05/27 00:18:44
去看www.vijos.cn
不需要源程序,就要解释,越详细越好

Var i,j,np,f,b:longint;
temp:string;
money,money1,a:array[1..10] of integer;
nam,nam1:array[1..10] of string;
Function Findname(str1:string):integer;
Var i:integer;
Begin
for i:=1 to np do
begin
if (str1=nam[i]) then
begin
findname:=i;
exit;
end
end;
End;
Begin
readln(np);
for i:=1 to np do readln(nam[i]);
for i:=1 to np do
begin
readln(nam1[i]);
b:=findname(nam1[i]);
readln(money,f);
money1:=money;
for j:=1 to f do
begin
readln(temp);
a[findname(temp)]:=a[findname(temp)]+money div f;
end;
if f<>0 then money:=money-(money div f)*f;
end;
for i:=1 to np do
begin
writeln(nam[i],' ' ,money[i]+a[i]-money1[i]);
end;
End.

模拟一下

这里有源程序你看下{
ID:zjsx_ss1