Moderator: Board moderators
[pascal]
program n729;
var
a : array[1..1000] of byte;
h,i,n : integer;
totalnumber : integer;
tot : extended;
qurrent : integer;
qual,quality : integer;
procedure getnext;
var
i,j : integer;
onesnumber : integer;
begin
onesnumber := 0;
i := n;
while a[i] = 0 do dec(i);
j := i;
while a[j]=1 do
begin
dec(j);
inc(onesnumber);
end;
a[j] := 1;
for i := j+1 to n do a[i] := 0;
for i := n-onesnumber + 2 to n do a[i] := 1;
inc(qurrent);
end;
begin
{assign(input,'input.txt');
assign(output,'output.txt');
reset(input);
rewrite(output);}
read(quality);
for qual := 1 to quality do
begin
read(n,h);
qurrent := 1;
fillchar(a,sizeof(a),0);
for i := n downto n-h+1 do a[i] := 1;
totalnumber := 1;
tot := 1;
for i := h+1 to n do
begin
tot := tot * i;
tot := tot/(n-i+1);
end;
totalnumber := round(tot);
while qurrent < totalnumber do
begin
for i:= 1 to n do write(a[i]);
writeln;
getnext;
end;
for i:= 1 to n do write(a[i]);
writeln;
writeln;
end;
end.
[/pascal]Users browsing this forum: No registered users and 1 guest