题目:http://poj.org/problem?id=3299
AC代码(C++):
#include <iostream>
#include <algorithm>
#include <stdio.h>
#include <vector>
#include <queue>
#include <math.h>
#include <string>
#include <string.h>
#include <bitset>
using namespace std;
int main(){
double t;
double d;
double h;
bool tt = false;
bool dd = false;
bool hh = false;
bool flag = false;
for(;;){
for(int i = 0; i < 2; i++){
char a;
cin>>a;
if(a=='T'){
cin>>t;
tt = true;
}
else if(a=='D'){
cin>>d;
dd = true;
}
else if(a=='H'){
cin>>h;
hh = true;
}
else if(a=='E'){
flag = true;
break;
}
}
if(flag==true)break;
if(tt&&dd){
double e = 6.11 * pow(2.718281828,5417.7530*((1.0/273.16) - (1.0/(d+273.16))));
double H = 0.5555*(e - 10.0);
h = t + H;
}
if(tt&&hh){
double H = h - t;
double e = H/0.5555 + 10.0;
d = 1.0/(1.0/273.16-log(e/6.11)/5417.7530) - 273.16;
}
if(dd&&hh){
double e = 6.11 * pow(2.718281828,5417.7530*((1.0/273.16) - (1.0/(d+273.16))));
double H = 0.5555*(e - 10.0);
t = h - H;
}
printf("T %.1lf D %.1lf H %.1lf\n",t,d,h);
tt = false;
dd = false;
hh = false;
}
}
总结: A道水题涨涨自信...