这道题呢其实是很简单的,你先从全部水开始试,热了就减1个单位的热水,并比较这个方案是不是比原方案好,若要好些则认为这种情况暂时最好,冷了就减一个单位的冷水,知道有有一个小于0为止。
#includeusing namespace std;int main(){ long long t1,t2,x1,x2,t0,ans,ans1;long double anss=11111111; cin>>t1>>t2>>x1>>x2>>t0; while(x1>=0&&x2>=0){ double t=double(t1*x1+t2*x2)/(x1+x2);//当前温度 if(t t-t0){//若比原方案好,则采用它 ans=x1;ans1=x2; anss=t-t0; } --x2;//热了就减一个单位的热水 } } cout< <<" "<