Cod sursa(job #85921)

Utilizator borsosborsos adrian borsos Data 23 septembrie 2007 11:30:00
Problema Curcubeu Scor 20
Compilator fpc Status done
Runda Autumn Warmup 2007, Runda 2 Marime 0.67 kb
type vect=array[1..30000] of integer;
var a:vect;
     f,g:text;
     a1,b1,c1,ai,bi,ci,n,i:integer;
 procedure umple (poz1,poz2,col:integer;var a:vect);
 var i:integer;
 begin
 if poz1<=poz2 then
 for i := poz1 to poz2 do a[i]:=col else
 if poz2<poz1 then
 for i := poz2 to poz1 do a[i]:=col;
 end;


begin
assign(f,'curcubeu.in'); reset(f);
assign(g,'curcubeu.out'); rewrite(g);
readln(f,n,a1,b1,c1); fillchar(a,sizeof(a),0);
umple(a1,b1,c1,a);
for i := 1 to n-1 do begin
ai:=(a1*i) mod n;
bi:=(b1*i) mod n;
ci:=(c1*i) mod n;
umple(ai,bi,ci,a);
a1:=ai;
b1:=bi;
c1:=ci;
               end;
for i:= 1 to n-1 do writeln(g,a[i]);
close(f); close(g);
end.