Cod sursa(job #282665)

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

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

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



bool e(int a,int b)
{
bool rr=false;
  for(int 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[10000],
        n,aux;
    scanf("%i",&n);
    scanf("%i",&aux);
    m[0]=aux;
    for (int 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 (int i=1;i<n;i++)
     {
         for (int j=0;j<n;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;         
    return 0;
}