POJ 3299

#include <iostream>
#include "math.h"

double e2h(double e)
{
    return 0.5555*(e-10.0);
}

double D2e(double D)
{
    return 6.11*exp(5417.7530*((1/273.16)-(1/(D+273.16))));
}

double e2D(double e)
{
    return (1/(1/273.16-log(e/6.11)/5417.7530))-273.16;
}

int main() {
    double H, D, T, h, e;
    char cmd[5];

    while (scanf("%s", cmd) && cmd[0]!=‘E‘) {
        T = D = H = -99999;

        if(cmd[0]==‘T‘)
            scanf("%lf", &T);
        else if(cmd[0]==‘D‘)
            scanf("%lf", &D);
        else
            scanf("%lf", &H);

        scanf("%s", cmd);

        if(cmd[0]==‘T‘)
            scanf("%lf", &T);

        else if(cmd[0]==‘D‘)
            scanf("%lf", &D);

        else
            scanf("%lf", &H);

        if(D > -9999) {
            h = e2h(D2e(D));
            if(T<-9999)
                T = H-h;
            else
                H = T+h;
        }
        else {
            h = H - T;
            e = h/0.5555 + 10.0;
            D = e2D(e);
        }
        printf("T %.1lf D %.1lf H %.1lf\n", T, D, H);

    }

    return 0;
}
时间: 2024-11-02 23:38:00

POJ 3299的相关文章

POJ 3299 Humidex 难度:0

题目链接:http://poj.org/problem?id=3299 #include <iostream> #include <iomanip> using namespace std; double exp(double x){ double ans=1; double td=1; for(int i=1;i<120;i++){ td=td*x/i; ans+=td; } return ans; } const double ine= 2.718281828 ; dou

POJ - 3299 Humidex

题意:已知两数,根据公式求第三个数. 分析: 1..lfG++编译不过的C++可能编译过. 2.输出.lf改成.f后G++可编译过. #pragma comment(linker, "/STACK:102400000, 102400000") #include<cstdio> #include<cstring> #include<cstdlib> #include<cctype> #include<iomanip> #incl

POJ 3299 Humidex(简单题)

[题意简述]:就是什么温度,湿度--,之间的转换.. [分析]:公式已给出了. // 252k 0Ms /* 其中exp表示的是求e的x次幂 解法就直接根据题目中的公式解决就好!! */ #include<iostream> #include<iomanip> #include<cmath> using namespace std; int main() { double t,d,h; char alpha; while(1) { t = d = h = 101; fo

Humidex POJ - 3299 (数学)

题目大意 给定你三个变量中的两个输出剩下的那一个 题解 没有什么,就是把公式推出来即可,完全的数学题 代码 #include <iostream> #include <cmath> #include <cstdio> using namespace std; int main() { /*ios::sync_with_stdio(0); cin.tie(0); cout.tie(0);*/ char c; while(cin>>c) { double t=1

POJ题目分类推荐 (很好很有层次感)

著名题单,最初来源不详.直接来源:http://blog.csdn.net/a1dark/article/details/11714009 OJ上的一些水题(可用来练手和增加自信) (POJ 3299,POJ 2159,POJ 2739,POJ 1083,POJ 2262,POJ 1503,POJ 3006,POJ 2255,POJ 3094) 初期: 一.基本算法: 枚举. (POJ 1753,POJ 2965) 贪心(POJ 1328,POJ 2109,POJ 2586) 递归和分治法. 递

POJ 刷题指南

OJ上的一些水题(可用来练手和增加自信) (POJ 3299,POJ 2159,POJ 2739,POJ 1083,POJ 2262,POJ 1503,POJ 3006,POJ 2255,POJ 3094) 初期: 一.基本算法: 枚举. (POJ 1753,POJ 2965) 贪心(POJ 1328,POJ 2109,POJ 2586) 递归和分治法. 递推. 构造法.(POJ 3295) 模拟法.(POJ 1068,POJ 2632,POJ 1573,POJ 2993,POJ 2996) 二

Tips for C

1. sizeof(literal-string) is number of bytes plus 1 (NULL is included), while strlen(literal-string) is number of bytes. 2. Printf and scanf format Before use PRIXxx or SCNXxx, add following code before any code. #define __STDC_FORMAT_MACROS #include

[3299]poj第一题

妈蛋,边听浮夸边撸代码简直醉了,高音飙死我算了,之后找了几个以前喜欢的轻音乐都乱七八糟,妈蛋,(╯‵□′)╯︵┻━┻ 1.int main return 0 2.math.h exp() log() 3.while(scanf("%c",&a),a!='E') 我的思路: 枚举六种情况,六次输出,妈蛋(╯‵□′)╯︵┻━┻一看姐就是有逻辑的人(╯‵□′)╯︵┻━┻ 1 #include<stdio.h> 2 #include<math.h> 3 #inc

POJ - 3186 Treats for the Cows (区间DP)

题目链接:http://poj.org/problem?id=3186 题意:给定一组序列,取n次,每次可以取序列最前面的数或最后面的数,第n次出来就乘n,然后求和的最大值. 题解:用dp[i][j]表示i~j区间和的最大值,然后根据这个状态可以从删前和删后转移过来,推出状态转移方程: dp[i][j]=max(dp[i+1][j]+value[i]*k,dp[i][j-1]+value[j]*k) 1 #include <iostream> 2 #include <algorithm&