输入一个字典,用*****结尾,输入若干单词用00000结尾。每个单词w,都需要在字典中找出所有可以用w的字母重排后得到的单词,并按照字典序从小到大的顺序在一行中输出(如果不存在,输出:( ,输入单词之间用空格或空行隔开,且所有输入单词都由不超过6个小写字母组成,注意,字典中的单词不一定按字典排列)。

输入: tarp given score refund only trap work earn course pepper part *****

resco nfudre aptr sett oresuc 00000

输出:

score

refund

part tarp trap

:(

course

#include <iostream>
#include <cstdlib>
#include <cstring>
using namespace std;
//字符比较函数
int CmpChar(const void* _a,const void* _b)
{char* a=(char*)_a;char* b=(char*)_b;return *a-*b;
}
//字符串比较函数
int CmpString(const void* _a,const void* _b)
{char* a=(char*)_a;char* b=(char*)_b;return strcmp(a,b);
}int main()
{char word[2000][10];int len=0;while(1){scanf("%s",word[len]);if('*'==word[len][0])   //遇到结束标志结束循环{break;}len++;}qsort(word,len,sizeof(word[0]),CmpString); //给所有单词排序char sorted[2000][10];for(int i=0;i<len;i++){strcpy(sorted[i],word[i]);qsort(sorted[i],strlen(sorted[i]),sizeof(char),CmpChar); //给每个单词排序}char str[10];while(scanf("%s",str)==1)   //持续读取到文件结尾{qsort(str,strlen(str),sizeof(char),CmpChar);  //给输入单词排序int flag=0;for(int i=0;i<len;i++){if(0==strcmp(sorted[i],str)){flag=1;cout<<word[i]<<' '; //输出原始单词,而不是排序后的}}if(!flag){cout<<":(";}cout<<endl;}return 0;
}

字母重排(算法竞赛入门经典)相关推荐

  1. 刘汝佳《算法竞赛入门经典》---总结

    刘汝佳:<算法竞赛入门经典> 三步: 基本的数据结构+算法知识: 数论等数学基本知识: 锻炼联想建模能力.知识与实际相结合,解决实际问题! 第一章:程序设计入门 1.a/b 当a.b为整数 ...

  2. 古老的密码(Ancient Cipher,UVa1339)(算法竞赛入门经典 例题4-1)C++

    题目:给定两个不超过100的字符串,判断是否可以做到将其中一个字符串通过重排和映射的操作,使得两个字符串相同.例如,JWPUDJSTVP重排后可以得到WJDUPSJPVT,然后每个字母只要通过一次映射 ...

  3. 算法竞赛入门经典(刘汝佳)——代码笔记

    Reference: <算法竞赛入门经典>(刘汝佳)第一版.第二版 ------------------------------------------------------------ ...

  4. 算法竞赛入门经典(第二版)第三章习题

    声明:作者水平有限,只是会基础C语言的小菜,C++还未入门.作者仅根据算法竞赛入门经典(第二版)书上第三章习题所述题意而编写,并未严格按照原题的输入输出编写,代码仅经过个人测试(OJ网站太慢了).代码 ...

  5. #《算法竞赛入门经典》勘误

    转自http://code.google.com/p/aoapc-book/wiki/BeginningAlgorithmContestsErrata #<算法竞赛入门经典>勘误 关于勘误 ...

  6. 《算法竞赛入门经典》Chap3

    <算法竞赛入门经典(第二版)>第三章 思考题 题目1 必要的存储量 题目2 统计字符1的个数 示例程序 程序3-1 逆序输出 程序3-2 开灯问题 程序3-3 蛇形填数 程序3-4 竖式问 ...

  7. [刷题]算法竞赛入门经典 3-10/UVa1587 3-11/UVa1588

    书上具体所有题目:http://pan.baidu.com/s/1hssH0KO 题目:算法竞赛入门经典 3-10/UVa1587:Box 代码: //UVa1587 - Box #include&l ...

  8. 《算法竞赛入门经典训练指南》pdf

    下载地址:网盘下载 基本介绍 编辑 内容简介 <算法竞赛入门经典:训练指南>题目多选自近年来ACM/ICPC区域赛和总决赛真题,内容全面,信息量大,覆盖了常见算法竞赛中的大多数细分知识点. ...

  9. 算法竞赛入门经典训练指南

    最近在看算法竞赛入门经典训练指南这本书,书中不错的算法我将在博客中发布,和大家共同学习. 题目: 在你的王国里有一条n个头的恶龙,你希望雇一些骑士把它杀死(即砍掉所有头).村里有m个骑士可以雇佣,一个 ...

  10. (Step1-500题)UVaOJ+算法竞赛入门经典+挑战编程+USACO

    下面给出的题目共计560道,去掉重复的也有近500题,作为ACMer Training Step1,用1年到1年半年时间完成.打牢基础,厚积薄发. 一.UVaOJ http://uva.onlinej ...

最新文章

  1. CVPR 2019审稿满分论文:中国博士提出融合CV与NLP的视觉语言导航新方法
  2. 12 HTML5中的影音播放
  3. linux 内核编译错误 undefined reference to '__mutex_lock_slowpath'
  4. 使用vscode调试Nodejs
  5. 一个基于JRTPLIB的轻量级RTSP客户端(myRTSPClient)——实现篇:(八)RTP音视频传输解析层之MPA传输格式...
  6. 洛谷P1080-国王游戏-贪心+高精度
  7. [C#][Quartz]帮助类
  8. 2010年中国企业500强
  9. 戴尔t3500服务器系统安装,Dell Precision T3500 工作站系统指南
  10. 人工智能神经网络概念股,神经网络芯片概念股
  11. php抓取微信文章图片保存到本地
  12. 狂神说——CSS3最新教程快速入门通俗易懂
  13. CentOS 7教程(二)-网络设置
  14. 剖析2015四大合并案:滴滴快的、58赶集、美团大众点评、携程去哪儿 1+12?
  15. 无线网技术——知识点
  16. android socket上传视频教程,android socket视频流方案
  17. 软件实训之深刻理解原型图设计的核心
  18. 【图像加密】基于matlab GUI正交拉丁方置乱+混沌图像加密解密【含Matlab源码 636期】
  19. MegaCli 安装及使用
  20. SQL server 一行语句实现分页查询!小伙伴们都惊呆了!

热门文章

  1. Conflux的自我进化:从DAG到树图| 对话伍鸣
  2. 深度学习视频压缩3——M-LVC: Multiple Frames Prediction for Learned Video Compression
  3. 如何是matlab中的折线图变得更加的光滑?
  4. java mybatis的作用,【java框架】MyBatis-Plus(1)--MyBatis-Plus快速上手开发及核心功能体验-博客...
  5. C/C++编程学习 - 第17周 ② 数字统计
  6. (二)ElasticSearch实战基础教程(ElasticSearch入门)
  7. 尤大都推荐的组件库是如何开发出来的?
  8. Ubuntu_18.04安装网易云音乐
  9. 未来两周目标计划---C++ and Disassembly(不积跬步无以至千里,不积小流无以成江海)
  10. Adv-Makeup:一种新颖不易察觉且可迁移的人脸识别攻击方法