Program gift1;

Type Gift=Record
   nm:ansistring;
   get,give:longint;
End;

Var
NP:longint;
ar:array[1..10] of Gift;

Procedure Init;
Var j:longint;
Begin
   readln(NP);
   for j:=1 to NP do
   begin
      readln(ar[j].nm);
      ar[j].get:=0;
      ar[j].give:=0;
   end;
End;

Function Search(s:ansistring):longint;
Var j:longint;
Begin
   for j:=1 to NP do
   begin
      if ar[j].nm=s then exit(j);
   end;
End;

Procedure Solve;
Var i,j,k,m,ng:longint;s:ansistring;
Begin
   for i:=1 to NP do
   begin
      readln(s);
      k:=Search(s);
      readln(m,ng);
      ar[k].give:=m;
      if ng>0 then
      begin
         for j:=1 to ng do
         begin
            readln(s);
            inc(ar[Search(s)].get,m div ng);
         end;
         inc(ar[k].get,m mod ng);
      end;
   end;
End;

Procedure Answer;
Var j:longint;
Begin
   for j:=1 to NP do
      writeln(ar[j].nm,' ',ar[j].get-ar[j].give);
End;

BEGIN
   assign(input,'gift1.in');reset(input);
   assign(output,'gift1.out');rewrite(output);
   Init;
   Solve;
   Answer;
   close(input);close(output);
END.

posted on 2011-02-07 21:52  LittleMagic  阅读(209)  评论(0)    收藏  举报