gift1.pas

来自「Magio牛的usaco源代码」· PAS 代码 · 共 57 行

PAS
57
字号
{
ID:maigoak1
PROG:gift1
}

program gift1;
const
  maxnp=10;
type
  person=record
    name:string;
    net:integer;
  end;
var
  fin,fout:text;
  np,giver,getter,money,ng,i,j:integer;
  tmp:string;
  p:array[1..maxnp]of person;
function num(n:string):integer;
  var
    i:integer;
  begin
    for i:=1 to np do
      if p[i].name=n then begin
        num:=i;
        exit;
      end;
  end;
begin
  assign(fin,'gift1.in');
  reset(fin);
  readln(fin,np);
  for i:=1 to np do
    readln(fin,p[i].name);
  for i:=1 to np do begin
    readln(fin,tmp);
    giver:=num(tmp);
    readln(fin,money,ng);
    if ng>0 then begin
      money:=money div ng;
      p[giver].net:=p[giver].net-money*ng;
      for j:=1 to ng do begin
        readln(fin,tmp);
        getter:=num(tmp);
        p[getter].net:=p[getter].net+money;
      end;
    end;
  end;
  close(fin);
  assign(fout,'gift1.out');
  rewrite(fout);
  for i:=1 to np do
    writeln(fout,p[i].name,' ',p[i].net);
  close(fout);
end.

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?