题目:
http://www.lydsy.com/JudgeOnline/problem.php?id=1024暴搜。
#include<cstdio>
#include<cstring>
#include<cstdlib>
#include<iostream>
using namespace std;

int x,y,n;

double dfs(double x,double y,double n)


{
if (n==1)

{
return max(x,y)/min(x,y);
}
double ans=1000000000;
for (double i=1;i<n;i+=1)

{
ans=min(ans,max(dfs(x/n*i,y,i),dfs(x/n*(n-i),y,n-i)));
ans=min(ans,max(dfs(x,y/n*i,i),dfs(x,y/n*(n-i),n-i)));
}
return ans;
}

int main()


{
cin>>x>>y>>n;
printf("%.6lf\n",dfs((double)x,(double)y,(double)n));
return 0;
}
