Cod sursa(job #274082)

Utilizator andreirRoti Andrei andreir Data 9 martie 2009 13:29:53
Problema Pairs Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.59 kb
#include<fstream.h>
int n,v[100],st[3],nr;
ifstream fin("pairs.in");
ofstream fout("pairs.out");
int gcd(int a, int b)   
{   
    if (!b) return a;   
    return gcd(b, a % b);   
}
int valid(int p)
{
 if(p>1)
 {
  if(st[p]==st[p-1])
   return 0;
  if(gcd(st[p],st[p-1])>1)
   return 0;
 }
 return 1;
}
void bkt(int p)
{
 for(int val=1;val<=n;val++)
 { 
  st[p]=v[val];
  if(valid(p))
   if(p==2)

	nr++; //fout<<st[1]<<" "<<st[2]<<endl;


   else
    bkt(p+1);
 }
}
int main()
{
 fin>>n;
 for(int i=1;i<=n;i++)
  fin>>v[i];
 bkt(1); fout<<nr/2;
 return 0;
}