Problem Description
In millions of newspapers across the United States there is a word game called Jumble. The object of this game is to solve a riddle, but in order to find the letters that appear in the answer it is necessary to unscramble four words. Your task is to write a program that can unscramble words.
 
Input
The
input contains four parts: 1) a dictionary, which consists of at least
one and at most 100 words, one per line; 2) a line containing XXXXXX,
which signals the end of the dictionary; 3) one or more scrambled
'words' that you must unscramble, each on a line by itself; and 4)
another line containing XXXXXX, which signals the end of the file. All
words, including both dictionary words and scrambled words, consist only
of lowercase English letters and will be at least one and at most six
characters long. (Note that the sentinel XXXXXX contains uppercase X's.)
The dictionary is not necessarily in sorted order, but each word in the
dictionary is unique.
 
Output
For
each scrambled word in the input, output an alphabetical list of all
dictionary words that can be formed by rearranging the letters in the
scrambled word. Each word in this list must appear on a line by itself.
If the list is empty (because no dictionary words can be formed), output
the line "NOT A VALID WORD" instead. In either case, output a line
containing six asterisks to signal the end of the list.
 
Sample Input
tarp
given
score
refund
only
trap
work
earn
course
pepper
part
XXXXXX
resco
nfudre
aptr
sett
oresuc
XXXXXX
 
Sample Output
score
******
refund
******
part
tarp
trap
******
NOT A VALID WORD
******
course
******
 题意:第一个XXXXXX前是一个字典,对于第二个XXXXXX前的单词输出字典,须排序;
代码:
#include<stdio.h>
#include<string.h>
#include<algorithm>
using namespace std;
char word[105][10];
int cmp(const void *p1,const void *p2){
    return (strcmp((char *)p1,(char *)p2));
}
int Judge(char m[],char n[]){int t1,t2;
    t1=strlen(m);t2=strlen(n);
    sort(m,m+t1);sort(n,n+t2);
    if(strcmp(n,m)==0)return 1;
    else return 0;
}
int main(){int i,temp;char s[10],t[10],p[10];
    for(i=0;scanf("%s",word[i]),strcmp(word[i],"XXXXXX");++i);
/*for(int z=0;z<=i;++z){
        for(int j=z;j<=i;j++){
            if(strcmp(word[z],word[j])>0)strcpy(p,word[z]),strcpy(word[z],word[j]),strcpy(word[j],p);
        }
    }*///冒泡排序;
     qsort(word,i,sizeof(word[0]),cmp);//qsort   poj上一直wa,杭电过了;运行时间和内存都特别大。。。。。
    while(scanf("%s",s),strcmp(s,"XXXXXX")){temp=0;
        for(int j=0;j<=i;j++){strcpy(t,word[j]);
            if(Judge(s,t))temp=1,printf("%s\n",word[j]);
        }
        if(!temp)printf("NOT A VALID WORD\n");
        printf("******\n");
    }
    return 0;
}

Word Amalgamation的更多相关文章

  1. Word Amalgamation(枚举 + 排序)

    Word Amalgamation Time Limit: 1 Sec  Memory Limit: 64 MB Submit: 373  Solved: 247 Description In mil ...

  2. hdu-----(1113)Word Amalgamation(字符串排序)

    Word Amalgamation Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others ...

  3. Word Amalgamation(hdoj1113)

    Word Amalgamation Problem Description In millions of newspapers across the United States there is a ...

  4. hdu1113 Word Amalgamation(详解--map和string的运用)

    版权声明:本文为博主原创文章.未经博主同意不得转载. vasttian https://blog.csdn.net/u012860063/article/details/35338617 转载请注明出 ...

  5. HDOJ.1113 Word Amalgamation(map)

    Word Amalgamation 点我挑战题目 点我一起学习STL-MAP 题意分析 给出字典.之后给出一系列======乱序======单词,要求你查字典,如过这个乱序单词对用有多个有序单词可以输 ...

  6. poj1318 Word Amalgamation 字符串排序(qsort)

    Word Amalgamation Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 9794   Accepted: 4701 ...

  7. poj 1318 Word Amalgamation

    Word Amalgamation Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 9968   Accepted: 4774 ...

  8. Uva 642 - Word Amalgamation sort qsort

     Word Amalgamation  In millions of newspapers across the United States there is a word game called J ...

  9. hdu 1113 Word Amalgamation 解题报告

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1113 题意:输入一个字典,然后再输入若干单词(每行中,1 <= 单词数 <= 100,并且 ...

  10. hdu 1113 Word Amalgamation

    原题链接:http://acm.hdu.edu.cn/showproblem.php?pid=1113 字符串简单题: stl水过 如下: #include<algorithm> #inc ...

随机推荐

  1. [core java学习笔记][第十一章异常断言日志调试]

    第11章 异常,断言,日志,调试 处理错误 捕获异常 使用异常机制的技巧 使用断言 日志 测试技巧 GUI程序排错技巧 使用调试器 11.1 处理错误 11.1.1异常分类 都继承自Throwable ...

  2. plsql连接oracal数据库

    一般只是作为客户端访问Oracle,并不需要安装庞大的Oracle 免安装客户端使用plsql连接oracal数据库 在本机没有安装oracle和oracle客户端的情况下,可以安装oracle提供的 ...

  3. jquery css3 手机菜单动画综合版

    html <header> <a id="go-back" href="javascript:window.location.back(-1)" ...

  4. webservice 远程调试配置

    在.NET 中已经默认将WEBSERVICE的远程调试功能关闭,有的时候我们需要远程调试程序的时候,就需要打开此功能我们只需在WEBSERVICE的项目的中添web.config的<system ...

  5. .net程序员转战android第三篇---登录模块之静态登录

    这一篇我将分2个部分记录登录界面,第一部分是静态登录, 这部分将如何从界面布局.控件使用.文件关系.数据验证.登陆实现等5小块记录. 第二部分是动态登录,这块会基于上面的4小块,在数据验证不是静态数据 ...

  6. Android Training: 设备管理

    Android 设备管理 Android2.2 通过Android设备管理API提供对企业级应用的支持.设备管理API在系统级别提供了设备管理特性.这些API可以在企业环境下,需要对员工设备进行控制时 ...

  7. Android 使用开源xUtils来实现多线程下载(非原创)

    1.程序员自己也是可以实现多线程下载的,只是代码量比较大,而且,其中有许多细节需要考虑到,在GitHub上有人写好的代码,我们可以拿过来使用下,节省了我们开发程序的时间 2.导包:xUtils-2.6 ...

  8. java菜鸟篇<一> 对JsonObject 和JsonArray知识点理解

    今天遇到从前台拿值(json数组格式),从request里边取值,然后经过一系列的处理方式,在用request返回去 1.先把request里的值赋值给String string类型的变量 2.因为前 ...

  9. [music]&lt;蔷薇&gt;

    我在虾米音乐听到一首好听的歌曲<蔷薇>,一起来听吧!http://www.xiami.com/song/386109?ref=aother LOFTER:我们的故事   http://us ...

  10. Oracle创建主键自增表

    Oracle创建主键自增表   1.创建表    create table Test_Increase(            userid number(10) NOT NULL primary k ...