zoukankan      html  css  js  c++  java
  • 【UVa】[156]Ananagrams

    这里写图片描述

    记录每个string出现次数
    然后只出现一次的即是结果

    可以用map做String到int的映射

    #include<iostream>
    #include<string>
    #include<cctype>
    #include<vector>
    #include<map>
    #include<algorithm>
    using namespace std;
    
    map<string,int>cnt;
    vector<string>words;
    
    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() {
        int n=0;
        string s;
        while(cin>>s) {
            if(s[0]=='#')
                break;
            words.push_back(s);
            string r=repr(s);
    //      printf("-%d-%s-%d-",cnt.count(r),r.c_str(),cnt[r]);
    
    /*      if(!cnt.count(r))
                cnt[r]=0;
            不加的话也可以
            应该是为了初始化 
    */
            cnt[r]++;
    
    //      printf("%d
    ",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;
    }
    //通过map记录string对应的出现次数 
    

    题目地址:【UVa】[156]Ananagrams

  • 相关阅读:
    典型用户
    站立会议5
    站立会议4
    《构建之法》阅读笔记05-需求分析
    站立会议3
    编写Android程序Eclipse连不上手机。
    站立会议2
    站立会议1
    第七周学习进度
    shiro之 散列算法(加密算法)
  • 原文地址:https://www.cnblogs.com/BoilTask/p/12569561.html
Copyright © 2011-2022 走看看