Pagini recente » Cod sursa (job #3161380) | Cod sursa (job #1061301) | Cod sursa (job #1163242) | Cod sursa (job #2920652) | Cod sursa (job #490599)
Cod sursa(job #490599)
program curcubeu;
var f, g:text;
a, b, c, col, sar:array[0..1000000] of longint;
inc, sf, j, i, n, jj: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
while col[j]>0 do
j:=sar[j]+1;
jj:=inc;
while col[jj]>0 do
begin
jj:=sar[jj]+1;
sar[jj]:=j-1;
end;
col[j]:=c[i];
sar[j]:=j;
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.