题目链接:http://poj.org/problem?id=1318

/*题意:在字母乱序的单词里面找到字母相同的字典里面的单词*/

/*此题的主要思路是要将字符排序,然后找对应,如果相同,那么就将此按字典序将字母一样的单词输出,
本人觉得此题的关键的问题是要将字符排序,那么就会出现二维字符数组的排序问题,
二维字符数组排序有很多种方法(因为二维字符数组不能直接复制,所以不能直接用sort()排序),
1.可以用到结构体
2.指针
3.可以将二维的字符数组转化成一维的字符数组(以下代码就是用的这种方法)
代码优化:将待确定的字符直接用一维的字符数组,然后排序,直接与第一部分的单词相比较
*/

 #include<cstdio>
#include<cstring>
#include<iostream>
#include<algorithm>
using namespace std;
char str1[][],str2[][];
char tra1[][],tra2[][];
char temp[]; int cmp(const void *a,const void *b)
{
return(strcmp((char*)a,(char*)b));
} int main(){
int len1=,len2=; //计算str1与str2的长度
for(int i=;i<;i++){
cin>>str1[i];
if(str1[i][]=='X'){
break;
}
len1++;
}
qsort(str1,len1,sizeof(str1[]),cmp);
for(int i=;i<len1;i++){
strcpy(tra1[i],str1[i]); //复制
}
for(int i=;i<;i++){
cin>>str2[i];
strcpy(tra2[i],str2[i]); //复制
if(str2[i][]=='X'){
break;
}
len2++;
}
//将字符按照asc码的形式进行排序 for(int i=;i<len1;i++){
int len3=strlen(str1[i]);
strcpy(temp,tra1[i]);
sort(temp,temp+len3);
strcpy(tra1[i],temp);
// cout<<tra1[i]<<endl;
}
for(int i=;i<len2;i++){
int len4=strlen(str2[i]);
strcpy(temp,tra2[i]);
sort(temp,temp+len4);
strcpy(tra2[i],temp); }
//比较字符串是否相同
int num;
for(int i=;i<len2;i++){
num=;
for(int j=;j<len1;j++){
if(strcmp(tra2[i],tra1[j])==){
cout<<str1[j]<<endl;
num++;
}
if(j==len1-){
if(num==){
printf("NOT A VALID WORD\n");
}
printf("******\n");
}
}
}
return ;
}

poj 1318Word Amalgamation的更多相关文章

  1. poj 1318 Word Amalgamation

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

  2. POJ题目细究

    acm之pku题目分类 对ACM有兴趣的同学们可以看看 DP:  1011   NTA                 简单题  1013   Great Equipment     简单题  102 ...

  3. 【转】POJ百道水题列表

    以下是poj百道水题,新手可以考虑从这里刷起 搜索1002 Fire Net1004 Anagrams by Stack1005 Jugs1008 Gnome Tetravex1091 Knight ...

  4. POJ 3370. Halloween treats 抽屉原理 / 鸽巢原理

    Halloween treats Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 7644   Accepted: 2798 ...

  5. POJ 2356. Find a multiple 抽屉原理 / 鸽巢原理

    Find a multiple Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 7192   Accepted: 3138   ...

  6. POJ 2965. The Pilots Brothers' refrigerator 枚举or爆搜or分治

    The Pilots Brothers' refrigerator Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 22286 ...

  7. POJ 1753. Flip Game 枚举or爆搜+位压缩,或者高斯消元法

    Flip Game Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 37427   Accepted: 16288 Descr ...

  8. POJ 3254. Corn Fields 状态压缩DP (入门级)

    Corn Fields Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 9806   Accepted: 5185 Descr ...

  9. POJ 2739. Sum of Consecutive Prime Numbers

    Sum of Consecutive Prime Numbers Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 20050 ...

随机推荐

  1. Caused by: org.apache.hadoop.ipc.RemoteException(org.apache.hadoop.security.AccessControlException):

    用windows连接hadoop集群执行mapreduce任务的时候出现以下错误: org.apache.hadoop.security.AccessControlException:Permissi ...

  2. pycharm安装激活

    我的版本是pycharm-professional-2016.3.3 总体的安装步骤基本没什么,就是一直下一步,下一步就行了. 重要的最后的注册,找了一堆版本,最后用的server,注册成功. 注册码 ...

  3. c++学习笔记---04---从另一个小程序接着说

    从另一个小程序接着说 文件I/O 前边我们已经给大家简单介绍和演示过C和C++在终端I/O处理上的异同点. 现在我们接着来研究文件I/O. 编程任务:编写一个文件复制程序,功能实现将一个文件复制到另一 ...

  4. html5客户端本地存储之sessionStorage及storage事件

    首先您可以看一下<JavaScript本地存储实践(html5的localStorage和ie的userData)>sessionStorage和上文中提到的localStorage非常相 ...

  5. ③bootstrap文本使用基础案例

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  6. 基于 Aspose.Cells与XML导入excel 数据----操作类封装

    前言 导入excel数据, 在每个项目中基本上都会遇到,第三方插件或者基于微软office,用的最多的就是npoi,aspose.cells和c#基于office这三种方式,其中各有各的优缺点,在这也 ...

  7. [转载] Storm:最火的流式处理框架

    转载自http://www.cnblogs.com/langtianya/p/5199529.html 伴随着信息科技日新月异的发展,信息呈现出爆发式的膨胀,人们获取信息的途径也更加多样.更加便捷,同 ...

  8. 【python】python的正则表达式 re

    ps:本文摘自互联网,觉得结构很好,讲的也很清晰.记下,备查. 延伸阅读:python的 内建函数 和 subprocess .此文是本系列的第三篇文章了,和之前一样,内容出自官方文档,但是会有自己的 ...

  9. AIO5系统中关于赠品处理的方法

    最近频繁有人问我,关于赠品在AIO5系统中如何处理.首先AIO5系统支持赠品处理关于赠品,在AIO5系统中走的是[其他出库单]路径:仓库--仓库作业--其他出库单--新增(如下图) 通常赠品对应的业务 ...

  10. 在ERP中定义用户时报错:SqlDateTime 溢出。必须介于 1/1/1753 12:00:00 AM 和 12/31/9999 11:59:59 PM 之间

    在ERP中定义用户时.   报错: SqlDateTime 溢出.必须介于 1/1/1753 12:00:00 AM 和 12/31/9999 11:59:59 PM 之间. 原因分析: ①没有正确初 ...