Cod sursa(job #25603)

Utilizator HolyBladeOld Radu HolyBlade Data 4 martie 2007 13:07:23
Problema Puteri Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.85 kb
#include<iostream.h>
#include<fstream.h>
#include<math.h>
typedef int stiva[100];
int n,v[100],x;
stiva st;
ifstream f("puteri.in");
ofstream g("puteri.out");
void init(int k)
{st[k]=0;
 }
int succesor(int k)
{if(st[k]<n)
  {st[k]=st[k]+1;return 1;}
 else
  return 0;   
}
int valid(int k)
{for(int i=1;i<k;i++)
  if(st[k]==st[i]) return 0; 
  return 1;}
int solutie(int k)
{return k==2;} 
void tipar()
{for(int i=1;i<=2;i++)
 {x=v[st[i]]*v[st[i+1]];
  g<<x<<'\n';
 }
}
void bt(int k)
{init (k);
 while(succesor(k))
  if(valid(k))
   if(solutie(k))
     tipar();
   else
     bt(k+1);
}


int main()
{int j,a,b,c,s,i;
 f>>n;
 for(j=1;j<=n;j++)
  {do
   {f>>a>>b>>c;}
   while((a<0)&&(b<0)&&(c<0)&&(a>64)&&(b>64)&&(c>64));
   s=pow(2,a)+pow(3,b)+pow(5,c);
   v[i]=s; 
  }
  bt(1);

 f.close();g.close();
 return 0; 
}