zoukankan      html  css  js  c++  java
  • UVa156

    紫书例题

    题目链接

    https://vjudge.net/problem/UVA-156

    AC 代码

    #include <iostream>
    #include <string>
    #include <cctype>
    #include <vector>
    #include <map>
    #include <algorithm>
    using namespace std;
    
    map<string, int> cnt;
    vector<string> words;
    
    // 将单词 s 进行标准化
    string repr(const string &s)
    {
        string ans = s;
        for (int i = 0; i < ans.length(); i++)
            ans[i] = tolower(ans[i]);
        sort(ans.begin(), ans.end());
        return ans;
    }
    
    int main()
    {
        string s;
        while (cin >> s)
        {
            if (s[0] == '#') break;
            words.push_back(s);
            string r = repr(s);
            if (!cnt.count(r)) cnt[r] = 0;
            cnt[r]++;
        }
        vector<string> ans;
        for (int i = 0; i < words.size(); i++)
            if (cnt[repr(words[i])] == 1) ans.push_back(words[i]);
        sort(ans.begin(), ans.end());
        for (int i = 0; i < ans.size(); i++)
            cout << ans[i] << "
    ";
        return 0;
    }
    

    按:这题主要考虑 STL 中 map 和 sort 的使用。

  • 相关阅读:
    lower_bound &&upper_bound
    二分/三分
    $qsort$
    define
    typedef
    string
    queue
    nyoj Arbitrage (Bellman-Ford)
    nyoj 谍战 (最小割最大流)
    nyoj 网络的可靠性(。。。)
  • 原文地址:https://www.cnblogs.com/fanlumaster/p/14226701.html
Copyright © 2011-2022 走看看