Cod sursa(job #249698)
Utilizator | Data | 28 ianuarie 2009 23:21:51 | |
---|---|---|---|
Problema | Puteri | Scor | 40 |
Compilator | fpc | Status | done |
Runda | Arhiva de probleme | Marime | 3.14 kb |
program alex;
var f:text;
a,b,c:array[1..100001]of integer;
i,j,n,nr,e2,e3,e5,r:longint;
begin
assign(f,'puteri.in');reset(f);
readln(f,n);
for i:=1 to n do
readln(f,a[i],b[i],c[i]);
close(f);
nr:=0;
for i:=1 to n-1 do
begin
for j:=i+1 to n do
begin
e2:=a[i]+a[j];
e3:=b[i]+b[j];
e5:=c[i]+c[j];
if(e2=0)and(e3=0)and(e5>=2) then nr:=nr+1;
if(e3=0)and(e5=0)and(e2>=2) then nr:=nr+1;
if(e5=0)and(e2=0)and(e3>=2) then nr:=nr+1;
if(e2<>0)and(e3<>0)and(e5=0)then begin
r:=e2 mod e3;
while r<>0 do
begin
e2:=e3;
e3:=r;
r:=e2 mod e3;
end;
if e3>=2 then nr:=nr+1;
end;
if(e5<>0)and(e3<>0)and(e2=0)then begin
r:=e5 mod e3;
while r<>0 do
begin
e5:=e3;
e3:=r;
r:=e5 mod e3;
end;
if e3>=2 then nr:=nr+1;
end;
if(e2<>0)and(e5<>0)and(e3=0)then begin
r:=e2 mod e5;
while r<>0 do
begin
e2:=e5;
e5:=r;
r:=e2 mod e5;
end;
if e5>=2 then nr:=nr+1;
end;
if(e2<>0)and(e3<>0)and(e5<>0)then begin
r:=e2 mod e3;
while r<>0 do
begin
e2:=e3;
e3:=r;
r:=e2 mod e3;
end;
r:=e5 mod e3;
while r<>0 do
begin
e5:=e3;
e3:=r;
r:=e5 mod e3;
end;
if e3>=2 then nr:=nr+1;
end;
end;
end;
assign(f,'puteri.out');rewrite(f);
writeln(f,nr);
close(f);
end.