Pagini recente » Cod sursa (job #2609014) | Clasament onis-2014-runda-4 | Cod sursa (job #126349) | Cod sursa (job #2901905) | Cod sursa (job #27505)
Cod sursa(job #27505)
#include<fstream.h>
#include<math.h>
ifstream f("puteri.in");
ofstream g("puteri.out");
int y[100],k,i,x[100],n;
ex(int k){
return(x[k]<n);
}
con(int k)
{
int i,f=1,p=1,t=1;
for(i=1;i<=k-1;i++)
if(y[x[i]]>=y[x[k]])
f=0;
for(i=1;i<=k;i++)
p=p*y[x[i]];
if(sqrt(p)!=abs(sqrt(p)))
t=0;
return(f&&t);
}
sol(int k){
return(k==3);
}
void tipar(int k){
int i;
for(i=1;i<=k;i++)
cout<<y[x[i]]<<" ";
cout<<endl;
}
void bkt(){
k=1;
x[k]=0;
while(k>0)
{
if(ex(k))
{
x[k]++;
if(con(k))
{
if(sol(k))
tipar(k);
else
{
k++;
x[k]=0;
}
}
}
else
k--;
}
}
void main(){
f>>n;
g<<endl;
for(i=1;i<=n;i++)
f>>y[i];
bkt();
f.close();
g.close();
}