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;
    }


  • 相关阅读:
    ArrayList用法
    MessageBox
    将文本文件导入Sql数据库
    在桌面和菜单中添加快捷方式
    泡沫排序
    Making use of localized variables in javascript.
    Remove double empty lines in Visual Studio 2012
    Using Operations Manager Connectors
    Clear SharePoint Designer cache
    Programmatically set navigation settings in SharePoint 2013
  • 原文地址:https://www.cnblogs.com/mofushaohua/p/7789460.html
Copyright © 2011-2022 走看看