记录编号 5684 评测结果 AAAAAA
题目名称 打保龄球 最终得分 100
用户昵称 Gravatar王瑞祥K 是否通过 通过
代码语言 Pascal 运行时间 0.024 s
提交时间 2008-10-27 21:15:25 内存使用 0.11 MiB
显示代码纯文本
program bowling(input,output);
var
 a:array[1..12,1..4]of integer;
 i:integer;
procedure ini;
var st:string; p,code:integer;
begin
 assign(input,'bowling.in');assign(output,'bowling.out');
 reset(input);rewrite(output);
 read(st);
 fillchar(a,sizeof(a),0);
 p:=pos(' ',st);
 i:=0;
 while p<>0 do begin
  inc(i);
  if p=2 then begin a[i,1]:=10;a[i,3]:=1;end;
  if p=3 then begin
   val(st[1],a[i,1],code);
   if st[2]='/' then begin a[i,2]:=10-a[i,1];a[i,3]:=2;end
   else begin val(st[2],a[i,2],code);a[i,3]:=3;end;
  end;
  delete(st,1,p);
  p:=pos(' ',st);
 end;
 inc(i);
 if st[1]='/' then begin a[i,1]:=10;a[i,3]:=1;end
 else if st[1]='0' then begin a[i,1]:=0;a[i,3]:=1;end
 else begin
  val(st[1],a[i,1],code);
  if st[2]='/' then begin a[i,2]:=10-a[i,1];a[i,3]:=2;end
  else begin val(st[2],a[i,2],code);a[i,3]:=3;end;
 end;
 if a[i,3]=2 then i:=i-1
 else if a[i,3]=1 then if a[i-1,3]=1 then i:=i-2 else i:=i-1;
end;
procedure main;
var k,s:integer;
begin
 for k:=1 to i do begin
  if a[k,3]=1 then
   if a[k+1,3]=1 then a[k,4]:=a[k,1]+a[k+1,1]+a[k+2,1]
   else a[k,4]:=a[k,1]+a[k+1,1]+a[k+1,2];
  if a[k,3]=2 then a[k,4]:=a[k,1]+a[k,2]+a[k+1,1];
  if a[k,3]=3 then a[k,4]:=a[k,1]+a[k,2];
 end;
 s:=0;
 for k:=1 to i do write(a[k,4],' ');
 writeln;
 for k:=1 to i do begin
  s:=s+a[k,4];
  write(s,' ');
 end;
 close(input);close(output);
end;
begin
 ini;
 main;
end.