题目链接

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

刘汝佳算法竞赛入门经典(第二版)P113

#include <cstdio>
#include <map>
#include <set>
#include <string>
#include <vector>
#include <algorithm>
#include <cctype>
#include <iostream>
using namespace std;
string repr(const string& s)
{
string ans=s;
for(int i=;i<ans.length();i++)
ans[i]=tolower(ans[i]);
sort(ans.begin(),ans.end());
return ans;
}
map<string,int> cnt;
vector<string> words;
int main()
{
int n=;
string s;
while(cin>>s)
{
if(s[]=='#') break;
words.push_back(s);
string r=repr(s);
if(!cnt.count(r)) cnt[r]=;
cnt[r]++;
}
vector<string> ans;
for(int i=;i<words.size();i++)
if(cnt[repr(words[i])]==)
ans.push_back(words[i]);
sort(ans.begin(),ans.end());
for(int i=;i<ans.size();i++)
cout<<ans[i]<<endl;
return ;
}
/*
ladder came tape soon leader acme RIDE lone Dreis peat
ScAlE orb eye Rides dealer Note derail LaCes drIed
noel dire Disk mace Rob dries
# */

最新文章

  1. [摘]在ASP.NET MVC中使用DropDownList
  2. ue4 c++ 接口
  3. chaper3_exerise_Uva1568_Molar_Mass_分子量
  4. 部署新浪SAE web.py Session及图片上传等问题注意事项
  5. c++多线程同步使用的对象
  6. 【LeetCode】118. Pascal&#39;s Triangle
  7. PHP 设计模式阅读清单
  8. c# 中的封装、继承、多态详解
  9. CAS实现单点登录
  10. 终于不再在懵逼mysql原生语句,orm超级登场
  11. VMWare 虚拟机设置网络访问
  12. ORA-01440 要减小精度或者标度.则要修改的列必须为空.
  13. asp.net mvc session锁问题
  14. linux面试题-基础题1
  15. 通达OA在centos系统中快速部署文档(web和数据库)
  16. Linux学习 : Socket 网络编程入门
  17. python学习 day15 (3月20日)----time
  18. [转]java 自动装箱与拆箱
  19. docker-compose 管理多个docker容器实例
  20. python--列表内建函数的方法

热门文章

  1. 关于360的META设置,强制使用极速模式
  2. 【转】GATK使用方法详解(包含bwa使用)
  3. 【C++】递增递减操作符与指针的关系
  4. 【PHP面向对象(OOP)编程入门教程】13.访问类型(public,protected,private)
  5. Xcode如何找到默认的生成路径?
  6. View和ViewImage设置图片
  7. iOS企业级开发初级课程-表视图(13集)
  8. JAVA设计模式 之 策略模式
  9. maven工程通过命令打包
  10. 下载老版本的Xcode