Mai intai trebuie sa te autentifici.

Cod sursa(job #282669)

Utilizator vlasceanuVlasceanu Razvan vlasceanu Data 18 martie 2009 01:00:35
Problema Pairs Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.25 kb
#include <cstdlib>
#include <iostream>

using namespace std;
long sol[100000][2]; 
int  nr=0;

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



bool e(long a,long b)
{
bool rr=false;
  for(long i1=0;i1<nr;i1++)
    if ((sol[i1][0]==a) && (sol[i1][1]==b)) rr=true;
    else if ((sol[i1][0]==b) && (sol[i1][1]==a)) rr=true;
return rr;   
}

int main(int argc, char *argv[])
{   
    freopen("pairs.in","r",stdin);
    freopen("pairs.out","w",stdout);
    int m[100000],
        n,aux;
    scanf("%i",&n);
    scanf("%i",&aux);
    m[0]=aux;
    for (long i=1;i<n;i++)
    {
        scanf("%i",&m[i]);
        if ((cmmdc(aux,m[i])==1) && (!e(aux,m[i]))) 
        {
           sol[nr][0]=aux;
           sol[nr][1]=m[i];
           nr++;                     
        }
    }
     for (long i=1;i<n;i++)
     {
         for (long j=0;j<n;j++)
         {
             if (i!=j && m[i]!=m[j])
             if ((cmmdc(m[i],m[j])==1) && (!e(m[i],m[j]))) 
            {
              sol[nr][0]=m[i];
              sol[nr][1]=m[j];
              nr++;                     
             }
         }
     }
    cout << nr;   
    fclose(stdin);
    fclose(stdout);      
    return 0;
}