Cod sursa(job #25106)

Utilizator the_dragon_of_rockTzogorean Alex the_dragon_of_rock Data 4 martie 2007 10:40:40
Problema Puteri Scor 40
Compilator cpp Status done
Runda preONI 2007, Runda 3, Clasa a 9-a si gimnaziu Marime 1.55 kb
#include<fstream>
using namespace std;
unsigned int p[1000001][4],n;
int s1,s2,s3,perechi;

int cmmdc(int a, int b)
{
    int r;
    do{
        r=a%b;
        a=b;
        b=r;
        }while(r!=0);
    return a;
}

int main()
{
    ifstream in("puteri.in");
    in>>n;
    int i,j;
    for (i=1;i<=n;i++)
        in>>p[i][1]>>p[i][2]>>p[i][3];
    in.close();
    
    perechi=0;
    int k,s;
    for (i=1;i<n;i++)
        for (j=i+1;j<=n;j++)
            {
                 s1=p[i][1]+p[j][1];
                 s2=p[i][2]+p[j][2];
                 s3=p[i][3]+p[j][3];
                 k=0;
                 if (s1!=0) k++;
                 if (s2!=0) k++;
                 if (s3!=0) k++;
                 if (k==1)
                    perechi++;
                 else if (k==2)
                         {
                               if (s1!=0 && s2!=0)
                                  {if (cmmdc(s1,s2)!=1) perechi++;}
                               else
                                   if (s1!=0 && s3!=0)
                                      {if (cmmdc(s1,s3)!=1) perechi++;}
                                   else
                                       if (cmmdc(s2,s3)!=1) perechi++;
                         }
                      else 
                          {     
                                s=cmmdc(s1,s2);
                                if (cmmdc(s,s3)!=1) perechi++;
                          }
            }
    ofstream out("puteri.out");
    out<<perechi;
    out.close();
    return 0;
}