Hot Bath

这道题呢其实是很简单的,你先从全部水开始试,热了就减1个单位的热水,并比较这个方案是不是比原方案好,若要好些则认为这种情况暂时最好,冷了就减一个单位的冷水,知道有有一个小于0为止。

#include<iostream>
using 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<t0)--x1;//冷了就减一个单位的冷水
		else {
	          if(anss>t-t0){//若比原方案好,则采用它
			ans=x1;ans1=x2;
			anss=t-t0;
		}
		--x2;//热了就减一个单位的热水
		}
	}
	cout<<ans<<" "<<ans1; 
}


posted @ 2017-08-03 07:47  c201904  阅读(200)  评论(0编辑  收藏  举报