亦为白菜题,直接模拟.
- {
- ID:idontknow
- PROG:gift1
- LANG:PASCAL
- }
- var
- j, cash, num, i, hash, np : longint;
- na : array[1 .. 10] of string[14];
- money : array[1 .. 10] of longint;
- st : string;
- function hh(s : string) : longint;
- var
- i : longint;
- begin
- for i := 1 to np do
- if s = na[i] then begin
- hh := i;
- break;
- end;
- end;
- begin
- assign(input,'gift1.in'); reset(input);
- assign(output,'gift1.out'); rewrite(output);
- readln(np);
- for i := 1 to np do
- readln(na[i]);
- for i := 1 to np do begin
- readln(st);
- hash := hh(st);
- readln(cash, num);
- if num <> 0 then begin
- money[hash] := money[hash] - cash + cash - num * (cash div num);
- cash := cash div num;
- for j := 1 to num do begin
- readln(st);
- hash := hh(st);
- money[hash] := money[hash] + cash;
- end;
- end else
- money[hash] := money[hash] + cash;
- end;
- for i := 1 to np do
- writeln(na[i], ' ', money[i]);
- close(input); close(output);
- end.