题解:
n这么小,不爆搜对不起题面。。。
代码如下:
#include<cstdio>
#include<string>
using namespace std;
int t;
double n,m;
double dfs(double x,double y,int z){
if (z==1) {if (x<y) swap(x,y); return x/y;}
double ans=1e20;
for (int i=1;i<z;i++)
ans=min(ans,min(max(dfs(x/z*i,y,i),dfs(x-x/z*i,y,z-i)),max(dfs(x,y/z*i,i),dfs(x,y-y/z*i,z-i))));
return ans;
}
int main(){
scanf("%lf %lf %d",&n,&m,&t);
printf("%.6lf\n",dfs(n,m,t));
return 0;
}