记录编号 32570 评测结果 AAAAAAAAAA
题目名称 产生01串 最终得分 100
用户昵称 GravatarDes. 是否通过 通过
代码语言 Pascal 运行时间 0.099 s
提交时间 2011-11-07 12:34:47 内存使用 0.12 MiB
显示代码纯文本
program infinit;
var a:array[1..100,0..1]of int64;
    f:Array[0..100]of int64;
    t,k,m,n:longint;
    s,i,j,x,y:int64;
begin
assign(input,'infinit.in' );
reset(input);
assign(output,'infinit.out');
rewrite(output);
readln(n);
a[1,0]:=0;
a[1,1]:=1;
f[0]:=1;
f[1]:=1;
for t:=2 to 91 do
  begin
    a[t,0]:=a[t-1,1];
    a[t,1]:=a[t-1,0]+a[t-1,1];
    f[t]:=f[t-1]+f[t-2];
  end;
for t:=1 to n do
  begin
    readln(i,j);
    x:=0;
    y:=0;
    dec(i);
    for k:=1 to 92 do
      if f[k]>i then break;
    dec(k);
    if i>0 then
    repeat
      if f[k]<=i then
        begin
          i:=i-f[k];
          x:=x+a[k,1];
        end;
      dec(k);
    until i=0;
    for k:=1 to 92 do
      if f[k]>j then break;
    dec(k);
    if j>0 then
    repeat
      if f[k]<=j then
        begin
          j:=j-f[k];
          y:=y+a[k,1];
        end;
      dec(k);
    until j=0;
    writeln(y-x);
  end;
close(output);
end.