Pagini recente » Cod sursa (job #1171068) | Cod sursa (job #526907) | Cod sursa (job #2060665) | Cod sursa (job #301462) | Cod sursa (job #45671)
Cod sursa(job #45671)
#include<fstream>
using namespace std;
struct triplet
{
int u,v,w;
};
int cmmdc(int a,int b)
{
int r;
while (b) { r=a%b; a=b; b=r; }
return a;
}
int u,v,w;
triplet a[100001];
long N,X,r,i,j;
fstream fin,fout;
int main(void)
{
fin.open("puteri.in",ios::in);
fout.open("puteri.out",ios::out);
fin>>N;
for (i=1;i<=N;i++)
fin>>a[i].u>>a[i].v>>a[i].w;
X=0;
for (i=1;i<N;i++)
for (j=i+1;j<=N;j++)
{
u=a[i].u+a[j].u;
v=a[i].v+a[j].v;
w=a[i].w+a[j].w;
if (cmmdc(u,cmmdc(v,w))>1) X++;
// incearca sa-ti calculezi b[p][q] = cmmdc(p.q) pentru 0<=p,q<=128 si
// sa inlocuiesti in if corespunzator , poate se incadreaza mai bine in timp!!!!
}
fout<<X<<endl;
fin.close();
fout.close();
return 0;
}