zoukankan      html  css  js  c++  java
  • POJ

    http://poj.org/problem?id=3299

    当时入门的时候就从这个水题入手增加自信,导致自信都没了。

    其实看懂公式之后前两个很简单,移一下项就可以了。

    第三个需要一点耐心慢慢解出来,但也不是不行。

    总之作为一道模拟是不错的。

    #include<algorithm>
    #include<cmath>
    #include<cstdio>
    #include<cstring>
    #include<iostream>
    #include<map>
    #include<set>
    #include<stack>
    #include<string>
    #include<queue>
    #include<vector>
    using namespace std;
    typedef long long ll;
    
    double calc_H(double T, double D) {
        return T + (0.5555) * (6.11 * exp(5417.7530 * ((1.0 / 273.16) - 1.0 / (D + 273.16))) - 10.0);
    }
    
    double calc_T(double H, double D) {
        return H - (0.5555) * (6.11 * exp(5417.7530 * ((1.0 / 273.16) - 1.0 / (D + 273.16))) - 10.0);
    }
    
    double calc_D(double T, double H) {
        double C1 = log(((H - T) / 0.5555 + 10.0) / 6.11);
        double C2 = 1.0 / 273.16 - C1 / 5417.7530;
        return 1.0 / C2 - 273.16;
    }
    
    
    int main() {
    #ifdef Yinku
        freopen("Yinku.in", "r", stdin);
    #endif // Yinku
        char op[2];
        while(~scanf("%s", op)) {
            if(op[0] == 'E')
                break;
            bool bt = 0, bd = 0, bh = 0;
            double T, D, H;
            if(op[0] == 'D') {
                bd = 1;
                scanf("%lf", &D);
            } else if(op[0] == 'T') {
                bt = 1;
                scanf("%lf", &T);
            } else if(op[0] == 'H') {
                bh = 1;
                scanf("%lf", &H);
            }
            scanf("%s", op);
            if(op[0] == 'D') {
                bd = 1;
                scanf("%lf", &D);
            } else if(op[0] == 'T') {
                bt = 1;
                scanf("%lf", &T);
            } else if(op[0] == 'H') {
                bh = 1;
                scanf("%lf", &H);
            }
            if(bd == 0) {
                D = calc_D(T, H);
            } else if(bt == 0) {
                T = calc_T(H, D);
            } else {
                H = calc_H(T, D);
            }
            printf("T %.1f D %.1f H %.1f
    ", T, D, H);
    
        }
    }
    
  • 相关阅读:
    初学C#线程
    初学C#线程二
    JQuery Ajax
    算法测试
    个人报告
    202120221课程设计第三周进展
    socket测试3
    202120221课程设计任务理解与分工
    嵌入式基础
    202120221课程设计第四周进展
  • 原文地址:https://www.cnblogs.com/Inko/p/11723195.html
Copyright © 2011-2022 走看看