程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> 每日一水 POJ8道水題

每日一水 POJ8道水題

編輯:C++入門知識

1. POJ 3299 Humidex

 這道題是已知H,D,T三者的運算關系,然後告訴你其中兩個。求另一個
 

#include<iostream>
#include<cstdio>
#include<cstring>
#include<cmath>
using namespace std;
int main ()
{
    char c,h;
    double T,D,H;
    while(cin>>c)
    {
        T=D=H=1000;
        if (c=='E') break;
        if (c=='T') cin>>T;
        else if (c=='D') cin>>D;
        else cin>>H;//用這種方式輸入比較方便
        cin>>h;
        if (h=='T') cin>>T;
        else if (h=='D') cin>>D;
        else cin>>H;
        if (H==1000)
        {
            H=T+0.5555*(6.11*exp (5417.7530 * ((1/273.16) - (1/(D+273.16))))-10.0);//exp(t) 表示e的t次
        }
        if (D==1000)
        {
            D=1/(1/273.16-log(((H-T)/0.5555+10.0)/6.11)/5417.7530)-273.16;//log(t) 實際上是lnt
        }
        if (T=1000)
            T=H-0.5555*(6.11*exp (5417.7530 * ((1/273.16) - (1/(D+273.16))))-10.0);
        printf("T %.1f D %.1f H %.1f\n",T,D,H);//G++上面用.f才AC。
    }
    return 0;
}

2. POJ 2159 Ancient Cipher

 
這道題大致是一串密碼,經過字母置換和亂序排序之後得到新的一串加密字符串。然後給出一串加密的和一串專家推測出來的密碼。問是否為同一個

這道題其實並不能得到確切的,因為亂序的順序並沒有告訴我們,所以只要判斷每個字符出現的次數是否相同即可。

這道題一開始做的時候被坑了,以為重置的就是簡單向右移動一位。。

//這道題坑爹之處在於密碼置換的時候並不是簡單的向左加1.。 而是可以任意替換
#include<iostream>
#include<cstdio>
#include<cstring>
#include<cmath>
#include<algorithm>
using namespace std;
int map[30],b[30];
int main ()
{
    int i;
    char eng[105];
    char str[105];
    cin>>eng>>str;
    for (i=0; i<strlen(eng); i++)
        map[eng[i]-'A']++;
    for (i=0; i<strlen(str); i++)
        b[str[i]-'A']++;
    sort(map,map+26);
    sort(b,b+26);
    int flag=1;
    for (i=0; i<26; i++)
        if (map[i]!=b[i])
            flag=0;
    if (flag) cout<<"YES"<<endl;
    else cout<<"NO"<<endl;
    return 0;
}

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved