poj 2555 Drink, on Ice 物理坐标计算

题意:

把一些冰和一些水混合,,求最终的状态和温度。

分析:

质量守恒+能量守恒。计算时将整条曲线平移至(0,0)开始会比较方便,但是发现当Q=0时T=-30,引入新的横坐标dT=T+30,曲线就从(Q,dT)==(0,0)开始了。

代码:

//poj 2555//sep9#include <iostream>#include <cmath>using namespace std;const double cw=4.19,ci=2.09,em=335;int main(){double mw,mi,tw,ti;while(1){scanf("%lf%lf%lf%lf",&mw,&mi,&tw,&ti);if(fabs(mw+mi)<1e-6)break;double Q;Q=mw*(ci*30+em+cw*tw)+mi*ci*(30+ti);double m=(mw+mi);if(m*ci*30>Q){double T=Q/m/ci-30;printf("%.1lf g of ice and 0.0 g of water at %.1lf C\n",m,T);}else if(m*(ci*30+em)<Q){double T=(Q-m*(ci*30+em))/m/cw;printf("0.0 g of ice and %.1lf g of water at %.1lf C\n",m,T);}else{Q-=m*ci*30;double x=Q/em;printf("%.1lf g of ice and %.1lf g of water at 0.0 C\n",m-x,x);}}return 0;}

人,也总是很难发现自己的错误,

poj 2555 Drink, on Ice 物理坐标计算

相关文章:

你感兴趣的文章:

标签云: