water~2

1947 단어 water
poj3299
http://poj.org/problem?id=3299

#include <iostream>
#include <fstream>
#include <cmath>
#define EXP 2.718281828

using 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
",a,b,funcH(a,b)); else if(ca=='D' && cb=='T') printf("T %.1f D %.1f H %.1f
",b,a,funcH(b,a)); else if(ca=='T' && cb=='H') printf("T %.1f D %.1f H %.1f
",a,funcD(a,b),b); else if(ca=='H' && cb=='T') printf("T %.1f D %.1f H %.1f
",b,funcD(b,a),a); else if(ca=='H' && cb=='D') printf("T %.1f D %.1f H %.1f
",funcT(a,b),b,a); else if(ca=='D' && cb=='H') printf("T %.1f D %.1f H %.1f
",funcT(b,a),a,b); } return 0; }

좋은 웹페이지 즐겨찾기