Hot Bath

c201904發表於2017-08-03

這道題呢其實是很簡單的,你先從全部水開始試,熱了就減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; 
}


相關文章