3299

1 /*
2 数学计算题,居然一次通过,RP那是大大的提高
3 */
4 // include file
5 #include <cstdio>
6 #include <cstdlib>
7 #include <cstring>
8 #include <cmath>
9 #include <cctype>
10 #include <ctime>
11
12 #include <iostream>
13 #include <sstream>
14 #include <fstream>
15 #include <iomanip>
16 #include <bitset>
17 #include <strstream>
18
19 #include <algorithm>
20 #include <string>
21 #include <vector>
22 #include <queue>
23 #include <set>
24 #include <list>
25 #include <functional>
26
27 using namespace std;
28
29 // typedef
30 typedef long long LL;
31 typedef unsigned long long ULL;
32 typedef __int64 Bint;
33
34 //
35 #define read freopen("in.txt","r",stdin)
36 #define write freopen("out.txt","w",stdout)
37 #define FORi(a,b,c) for(int i=(a);i<(b);i+=c)
38 #define FORj(a,b,c) for(int j=(a);j<(b);j+=c)
39 #define FORk(a,b,c) for(int k=(a);k<(b);k+=c)
40 #define FORp(a,b,c) for(int p=(a);p<(b);p+=c)
41 #define FORii(a,b,c) for(int ii=(a);ii<(b);ii+=c)
42 #define FORjj(a,b,c) for(int jj=(a);jj<(b);jj+=c)
43 #define FORkk(a,b,c) for(int kk=(a);kk<(b);kk+=c)
44
45 #define FF(i,a) for(int i=0;i<(a);i+++)
46 #define FFD(i,a) for(int i=(a)-1;i>=0;i--)
47 #define Z(a) (a<<1)
48 #define Y(a) (a>>1)
49
50 const double eps = 1e-6;
51 const double INFf = 1e10;
52 const int INFi = 1000000000;
53 const double Pi = acos(-1.0);
54
55 template<class T> inline T sqr(T a){return a*a;}
56 template<class T> inline T TMAX(T x,T y)
57 {
58 if(x>y) return x;
59 return y;
60 }
61 template<class T> inline T TMIN(T x,T y)
62 {
63 if(x<y) return x;
64 return y;
65 }
66 template<class T> inline void SWAP(T &x,T &y)
67 {
68 T t = x;
69 x = y;
70 y = t;
71 }
72 template<class T> inline T MMAX(T x,T y,T z)
73 {
74 return TMAX(TMAX(x,y),z);
75 }
76
77
78 // code begin
79 char in1[3],in2[3];
80 double f1,f2;
81 const double pa1 = 0.5555;
82 const double pa2 = 6.11;
83 const double pa3 = 5417.7530;
84 const double pa4 = 273.16;
85 const double e = 2.718281828;
86
87 void TD(double T,double D)
88 {
89 double H = T + pa1*( pa2*exp( pa3*( 1/pa4-1/(pa4+D) ) ) - 10.0 );
90 printf("T %.1f D %.1f H %.1f\n",T,D,H);
91 }
92 void DH(double D,double H)
93 {
94 double T = H - pa1*( pa2*exp( pa3*( 1/pa4-1/(pa4+D) ) ) - 10.0 );
95 printf("T %.1f D %.1f H %.1f\n",T,D,H);
96 }
97 void TH(double T,double H)
98 {
99 double D = 1/( 1/pa4-log( ((H-T)/pa1+10.0)/pa2 )/(pa3*log(e)) )-pa4;
100 printf("T %.1f D %.1f H %.1f\n",T,D,H);
101 }
102
103 int main()
104 {
105 read;
106 write;
107 while(scanf("%s",in1)!=-1)
108 {
109 if(in1[0]=='E')
110 {
111 break;
112 }
113 scanf("%lf %s %lf",&f1,in2,&f2);
114 if(in1[0]=='T' && in2[0]=='D')
115 {
116 TD(f1,f2);
117 }
118 else if(in1[0]=='D' && in2[0]=='T')
119 {
120 TD(f2,f1);
121 }
122 else if(in1[0]=='T' && in2[0]=='H')
123 {
124 TH(f1,f2);
125 }
126 else if(in1[0]=='H' && in2[0]=='T')
127 {
128 TH(f2,f1);
129 }
130 else if(in1[0]=='D' && in2[0]=='H')
131 {
132 DH(f1,f2);
133 }
134 else if(in1[0]=='H' && in2[0]=='D')
135 {
136 DH(f2,f1);
137 }
138 }
139 return 0;
140 }
posted @ 2011-03-09 11:00  AC2012  阅读(296)  评论(0编辑  收藏  举报