zoukankan      html  css  js  c++  java
  • Ananagrams (多种stl)

    题意  给你一篇文章  以"#"号结束   按字典序求输出这篇文章中真正只出现过一次的单词   就是不能通过字母重新排列得到文章中另一个单词的单词

    把每个单词的字母全部化为小写  再把这个单词中的字母按字典序排列  得到一个字符串  用map记下出现次数就行   只出现过一次的就是要输出的

    #include <iostream>
    #include <algorithm>
    #include <cstdio>
    #include <map>
    #include <string>
    #include <set>
    #include <sstream>
    #include <vector>
    
    
    using namespace std;
    
    string s,t;
    set<string>st;
    vector<string>ans;
    map<string,string>ss;
    map<string,int>cnt;
    
    int main()
    {
        while(cin>>s&&s!="#")
        {
            t=s;
            ans.push_back(s);
            for(int i=0;i<t.length();++i)
            {
                t[i]=tolower(t[i]);
    
            }
            sort(t.begin(),t.end());
                ss[s]=t;
                ++cnt[t];
    
        }
        sort(ans.begin(),ans.end());
        for(vector<string>::iterator it=ans.begin();it!=ans.end();++it)
        {
            if(cnt[ss[*it]]==1) cout<<*it<<endl;
        }
        return 0;
    }
  • 相关阅读:
    VirtualBox 使用技巧
    ThreadPoolExecutor 线程池任务队列分析 与 利特尔法则(Little's law)
    AQS 与 LockSupport
    Matrix
    Fire Net
    Travelling
    Cannon
    N皇后问题
    Safecracker
    #include <algorithm>中sort的一般用法
  • 原文地址:https://www.cnblogs.com/Fy1999/p/9348256.html
Copyright © 2011-2022 走看看