算了,有一道水题

//P1603
#include <iostream> 
#include <cstring> // use strlen strcpy
using namespace std; 

const int Max = 50; 
const char * a[Max] = {"one", "two", "three", "four", "five", "six", "seven", "eight", "nine", 
    "ten", "eleven", "twelve", "thirteen", "fourteen", "fifteen", "sixteen", "seventeen", 
    "eighteen", "nineteen", "twenty", "a", "both", "another", "first", "second", "third"};
const char * init[Max] = {"01", "04", "09", "16", "25", "36", "49", "64", "81", "00", "21",
    "44", "69", "96", "25", "56", "89", "24", "61", "00", "01", "04", "09", "01", "04", "09"}; 
    
bool check_str(char*, const char*);

int main() {
    char ch[Max]; 
    int count = 0, num[100] = {};    
    for (int i = 0; i < 6; ++i) {
        cin >> ch; 
        for (int j = 0; j < 26; ++j) 
            if (check_str(ch, a[j])) 
                num[10*(init[j][0]-'0')+init[j][1]-'0']++;
    }
    long long ans = 0;
    for (int i = 0; i < 100; ++i) 
        while (num[i]--) {
            ans = ans * 100 + i;    
        }
    cout << ans; 
    return 0;
}

bool check_str(char* a, const char* b) {
    if (strlen(a) != strlen(b)) 
        return 0;
    for (int i = 0; i < strlen(b); ++i) 
        if (a[i] != b[i])
            return 0;
    return 1;
}

https://www.luogu.org/problemnew/show/P1603

其实吧,我感觉这道题比前两道题更有价值,通过。。。

。。。。

利用。。。

技巧

就能够完成。

就当锻炼大家读代码能力吧!

语言c++计算机程序设计爱好者 不定期更新题目题解 望互相分享心得体会 有意留言加q
原文地址:https://www.cnblogs.com/yifeiWa/p/10628758.html