Cod sursa(job #25421)

Utilizator alecmanAchim Ioan Alexandru alecman Data 4 martie 2007 12:32:55
Problema Puteri Scor 30
Compilator cpp Status done
Runda preONI 2007, Runda 3, Clasa a 9-a si gimnaziu Marime 1.04 kb
/*
 *
 *
  info-arena 2.0 - preONI 2007 - Runda 3 - Puteri
 *
 *
 */

#include<stdio.h>

#define INPUT "puteri.in"
#define OUTPUT "puteri.out"

FILE *fin=fopen(INPUT, "r"),*fout=fopen(OUTPUT, "w");

int a[100001][3];
long n;

void rezolvare();
int descomp(int x, int y, int z);

int main()
{
  rezolvare();
  fclose(fin);
  fclose(fout);
  return 0;
}

void rezolvare()
{
  fscanf(fin, "%ld", &n);
  long long k=0;
  int val1,val2,val3,rez;
  for(long i=1;i<=n;++i)
  {
    fscanf(fin, "%d %d %d", &a[i][0],&a[i][1],&a[i][2]);
    for(long j=1;j<i;++j)
    {
      val1=a[j][0]+a[i][0];
      val2=a[j][1]+a[i][1];
      val3=a[i][2]+a[j][2];
      rez=descomp(val1,val2,val3);
      if(rez!=1)
        ++k;
    }
  }
  fprintf(fout, "%lld\n", k);
}

int descomp(int x, int y, int z)
{
  int val;
  if(x!=0)
    val=x;
  else
    if(y!=0)
      val=y;
    else
      val=z;
  int l=0,i;
  for(i=2;i<=val&&!l;++i)
    if(x%i==0&&y%i==0&&z%i==0)
      l=1;
  if(l==1)
  return i;
  return 1;
}