比赛 NOIP2008集训模拟3 评测结果 WWWWWWEEEW
题目名称 硬币游戏 最终得分 0
用户昵称 lc 运行时间 0.000 s
代码语言 Pascal 内存使用 0.00 MiB
提交时间 2008-11-12 10:35:09
显示代码纯文本
program coins;
 var
    k,sum,i:longint;
    ans,mark:array[0..100000] of boolean;

function solve(p:longint):boolean;
 var
     i:integer;
 begin
  if mark[p] then exit(ans[p]);
  mark[p]:=true;
  if not solve(p-1) then exit(true);
  if not solve(p-2) then exit(true);
  for i:=1 to p-2 do
  if  (solve(i) xor  solve(p-i-1))
    then exit(true);
  for i:=1 to p-3 do
  if  (solve(i) xor solve(p-i-2))
    then exit(true);
  exit(false);
 end;

begin
  assign(input,'coins.in');
  assign(output,'coins.out');
  reset(input); rewrite(output);
  ans[0]:=true; mark[0]:=true;
  ans[1]:=true; mark[1]:=true;
  ans[2]:=true; mark[2]:=true;
  readln(k);
  for i:=1 to k do
   begin
     readln(sum);
     if not mark[sum]
     then begin
          ans[sum]:=solve(sum);
          mark[i]:=true;
          end;
          if ans[sum] then writeln('Alice')
                      else writeln('Bob');

   end;
 close(input); close(output);
end.