zoukankan      html  css  js  c++  java
  • UVA

    /*
      收获:
      1. map是从键到值的映射
      例子:map<string, int> month_name;
      month_name["July"] = 7;
      
      map除了支持set支持的insert、find、count、remove外,还支持 [] 运算符,故map可弹鼓奏数组使用,map也称为“关联数组”
      
      2. 对string的sort排序,写法为:
      sort(s.begin(), s.end());
      和vector的排序的写法十分相似
      
      3. map中的count函数:
      https://zhidao.baidu.com/question/436360212519839724.html
      
      分析:
      把每个单词“标准化”,即全部转换为小写字母后,再进行排序,然后再放到map中进行统计
    */


    #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.size(); i++)
    		ans[i] = tolower(ans[i]);
    	
    	sort(ans.begin(), ans.end());
    	return ans;
    } 
    
    int main()
    {
    	int n = 0;
    	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] << endl;
    	return 0;
    }


  • 相关阅读:
    Python超简单的HTTP服务器
    浅析python的string.Template
    virtualenv python虚拟环境搭建
    python 爬虫-sohu抓小说
    python RE模块
    linux 修改系统时间
    Linux下查看文件和文件夹大小
    python os模块使用方法
    python文件操作 seek(),tell()
    python encode decode unicode区别及用法
  • 原文地址:https://www.cnblogs.com/mofushaohua/p/7789460.html
Copyright © 2011-2022 走看看