反片语(UVA156)

怼烎@ 2022-02-26 16:44 342阅读 0赞

题目解析:是对map,vector的一个很好的练习 首先该单词不能通过字母重新排列 那么先把该单词全部转化为小写 然后排序 用map容器记录每个排序完成的单词出现的次数 然后用vector容器记录排序之前的单词。。
噢可 怎么会越刷题目越渴睡

  1. #include<cstdio>
  2. #include<cmath>
  3. #include<algorithm>
  4. #include <iostream>
  5. #include <map>
  6. #include <vector>
  7. using namespace std;
  8. map<string,int> mp;
  9. vector<string> vec;
  10. string stander(string s)
  11. {
  12. for(int i=0;i<s.length();i++)
  13. {
  14. s[i]=tolower(s[i]);
  15. }
  16. sort(s.begin(),s.end());
  17. return s;
  18. }
  19. int main()
  20. {
  21. string s;
  22. while(cin>>s){
  23. if(s[0]=='#') break;
  24. vec.push_back(s);
  25. string ss=stander(s);
  26. if(!mp.count(ss))
  27. mp[ss]=0;
  28. mp[ss]++;
  29. }
  30. vector <string> ans;
  31. for(int i=0;i<vec.size();i++)
  32. if(mp[stander(vec[i])]==1)
  33. ans.push_back(vec[i]);
  34. sort(ans.begin(),ans.end());
  35. //for(int i=0;i<ans.size();i++)
  36. //cout<<ans[i]<<endl;
  37. vector <string>::iterator it;
  38. for(it=ans.begin();it!=ans.end();it++)
  39. cout<<*it<<endl;
  40. return 0;
  41. }

//也许不会AC 凑活着看吧

发表评论

表情:
评论列表 (有 0 条评论,342人围观)

还没有评论,来说两句吧...

相关阅读

    相关 uva156(标准化+map)

    输入一些单词,找出所有满足如下条件的单词:该单词不能通过字母重排,得到输入文本中的另外一个单词。 在判断是否满足条件时,字母不分大小写,但在输出时应保留输入中的大小写,按字典序

    相关 uva 156 Ananagrams STL

    ![Center][] ![Center 1][] 题目大意: 输入一些单词,找出所有满足如下条件的单词,该单词不能通过字母重排,得到输入文本中的另一个单词,在判断

    相关 (UVA156)

    题目解析:是对map,vector的一个很好的练习 首先该单词不能通过字母重新排列 那么先把该单词全部转化为小写 然后排序 用map容器记录每个排序完成的单词出现的次数 然后用

    相关 之明悟(一)

    1.一个项目,你能驾轻就熟,遇到任何问题,你都能搞定,这样的人的可以成为高级工程师,或者是项目经理,如果一个人可以带很多项目,那么你就是部门经理. 2.做软件开发,需要坚持的