Pagini recente » Cod sursa (job #1629295) | Cod sursa (job #1249821) | Cod sursa (job #241615) | Cod sursa (job #1358503) | Cod sursa (job #490607)
Cod sursa(job #490607)
program curcubeu;
var f, g:text;
a, b, c, col, sar:array[0..1000005] of int64;
inc, sf, j, i, n, jj, jjan:longint;
procedure intervale;
begin
for i:=2 to n-1 do
begin
a[i]:=(a[i-1]*i) mod n;
b[i]:=(b[i-1]*i) mod n;
c[i]:=(c[i-1]*i) mod n;
end;
end;
function max(q,w:longint):longint;
begin
if q>w then
max:=q
else
max:=w;
end;
procedure colorare;
begin
sf:=max(a[i],b[i]);
inc:=a[i]+b[i]-max(a[i],b[i]);
j:=inc;
while j<=sf do
begin
jj:=j;
while col[j]>0 do
j:=sar[j]+1;
while col[jj]>0 do
begin
jjan:=jj;
jj:=sar[jj]+1;
sar[jjan]:=j-1;
end;
if j<=sf then
begin
col[j]:=c[i];
sar[j]:=sf;
end;
j:=j+1;
end;
end;
begin
assign(f,'curcubeu.in'); reset(f);
assign(g,'curcubeu.out'); rewrite(g);
readln(f,n,a[1],b[1],c[1]);
intervale;
for i:=n-1 downto 1 do
colorare;
for i:=1 to n-1 do
writeln(g,col[i]);
close(f);
close(g);
end.