zoukankan      html  css  js  c++  java
  • PAT 1071. Speech Patterns

    又是考输入输出

    #include <cstdio>
    #include <cstdlib>
    #include <string>
    #include <vector>
    #include <unordered_map>
    #include <algorithm>
    
    using namespace std;
    
    char buf[1048577];
    
    bool is_alphanumerical(char &ch) {
        if (ch >= '0' && ch <= '9') return true;
        if (ch >= 'a' && ch <= 'z') return true;
        if (ch >= 'A' && ch <= 'Z') {
            ch += 'a' - 'A';
            return true;  
        }
        return false;
    }
    
    int main() {
    
        char ch;
        
        bool inword = false;
        int wpos = 0;
        int max_count = -1;
        
        unordered_map<string, int> count;
        vector<string> maxs;
    
        while(ch = getchar()) {
            bool isan = is_alphanumerical(ch);
            if (isan) {
                if (!inword) {
                    // new word begin
                    wpos     = 0;
                    inword     = true;
                }
                // append character
                buf[wpos++] = ch;
            } else {
                if (inword) {
                    // current word end
                    buf[wpos] = '';
                    string word(buf);
                    auto iter = count.find(word);
                    if (iter == count.end()) {
                        iter = count.insert(make_pair(word, 0)).first;
                    }
                    if (++(iter->second) > max_count) {
                        max_count = iter->second;
                        maxs.clear();
                        maxs.push_back(word);
                    } else if (iter->second == max_count) {
                        maxs.push_back(word);
                    }
                    inword = false;
                }
            }
            if (ch == '
    ') {
                break;
            }
        }
        
        sort(maxs.begin(), maxs.end());
        int mcount = count.find(maxs[0])->second;
        printf("%s %d", maxs[0].c_str(), mcount);
        return 0;
    }
  • 相关阅读:
    真理
    使用C#调用QC的接口
    如何让asp.net应用程序定时自动执行代码
    对话
    科学●哲学●艺术●恶搞
    避免asp.net程序session过期的一个另类方法
    醉翁之意不在酒
    测试团队的新兴职位:测试设计师
    1和0的世界
    名词解释:高阻态,上拉电阻
  • 原文地址:https://www.cnblogs.com/lailailai/p/4102760.html
Copyright © 2011-2022 走看看