water~2
poj3299http://poj.org/problem?id=3299
#include <iostream>#include <fstream>#include <cmath>#define EXP 2.718281828using namespace std;double funcE(double dewPoint){return 6.11*pow(EXP,5417.7530*((1.0/273.16)-(1.0/(dewPoint+273.16))));}double funcH(double t,double d){return t+0.5555*(funcE(d)-10.0);}double funcT(double h,double d){return h-0.5555*(funcE(d)-10.0);}double funcEToD(double e){return 1.0/(1.0/273.16-log(e/6.11)/5417.7530)-273.16;}double funcD(double t,double h){return funcEToD((h-t)/0.5555+10.0);}int main(){//ifstream cin("1.txt");char ca,cb;double a,b;while(1){cin>>ca;if(ca=='E')break;cin>>a>>cb>>b;if(ca=='T' && cb=='D')printf("T %.1f D %.1f H %.1f\n",a,b,funcH(a,b));else if(ca=='D' && cb=='T')printf("T %.1f D %.1f H %.1f\n",b,a,funcH(b,a));else if(ca=='T' && cb=='H')printf("T %.1f D %.1f H %.1f\n",a,funcD(a,b),b);else if(ca=='H' && cb=='T')printf("T %.1f D %.1f H %.1f\n",b,funcD(b,a),a);else if(ca=='H' && cb=='D')printf("T %.1f D %.1f H %.1f\n",funcT(a,b),b,a);else if(ca=='D' && cb=='H')printf("T %.1f D %.1f H %.1f\n",funcT(b,a),a,b);}return 0;}