poj 1318Word Amalgamation
题目链接: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的更多相关文章
- poj 1318 Word Amalgamation
Word Amalgamation Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 9968 Accepted: 4774 ...
- POJ题目细究
acm之pku题目分类 对ACM有兴趣的同学们可以看看 DP: 1011 NTA 简单题 1013 Great Equipment 简单题 102 ...
- 【转】POJ百道水题列表
以下是poj百道水题,新手可以考虑从这里刷起 搜索1002 Fire Net1004 Anagrams by Stack1005 Jugs1008 Gnome Tetravex1091 Knight ...
- POJ 3370. Halloween treats 抽屉原理 / 鸽巢原理
Halloween treats Time Limit: 2000MS Memory Limit: 65536K Total Submissions: 7644 Accepted: 2798 ...
- POJ 2356. Find a multiple 抽屉原理 / 鸽巢原理
Find a multiple Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 7192 Accepted: 3138 ...
- POJ 2965. The Pilots Brothers' refrigerator 枚举or爆搜or分治
The Pilots Brothers' refrigerator Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 22286 ...
- POJ 1753. Flip Game 枚举or爆搜+位压缩,或者高斯消元法
Flip Game Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 37427 Accepted: 16288 Descr ...
- POJ 3254. Corn Fields 状态压缩DP (入门级)
Corn Fields Time Limit: 2000MS Memory Limit: 65536K Total Submissions: 9806 Accepted: 5185 Descr ...
- POJ 2739. Sum of Consecutive Prime Numbers
Sum of Consecutive Prime Numbers Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 20050 ...
随机推荐
- D - MUH and Cube Walls
D. MUH and Cube Walls Polar bears Menshykov and Uslada from the zoo of St. Petersburg and elephant ...
- 网络基础四 DNS DHCP 路由 FTP
第1章 网络基础 1.1 IP地址分类 IP地址的类别-按IP地址数值范围划分 IP地址的类别-按IP地址用途分类 IP地址的类别-按网络通信方式划分 1.2 局域网上网原理过程 DHCP原理过程详情 ...
- Hadoop部署配置文件
为了方便大家修,我把要修改的地方标红了,找到对应文件,复制粘贴过去就可以了 注:这个是我安装的Hadoop的配置,要根据我之前发的文章配置才行, 里面有一些东西比如文件夹名称,路径不一样,稍加修改也可 ...
- 小米Java程序员第二轮面试10个问题,你是否会被刷掉?
近日,开发者头条上分享了一篇"小米java第二轮面经",有很多的java程序员表示非常有兴趣. 下面l就和各位分享小米java第二轮面经(华为java工程师笔试面试题可以看文章某尾 ...
- Cisco VPN Client Win10无法使用的解决办法
http://files.cnblogs.com/files/Flyear/VPN_Win10_ByDuke.zip 1. 关闭系统所有窗口,控制面板一定要关闭. 2. 运行winfix.exe, 按 ...
- MQTT——发布报文
发布报文的知识点并不难,只是多.看过前面几章的读者们应该或多或少都认识服务质量QOS.发布报文跟他的联系最紧的.我们也清楚订阅报文里面虽然也有用到QOS,但是他却没有更进一步的联系.往下看就知道是什么 ...
- SElinux用户管理操作
查看当前用户上下文 id -Z 查看登陆的用户和其对应的SELinux用户 semanage login -l 改变用户和SELinux的对应关系 semanage login -a选项能改变,-s用 ...
- Scrum Meeting Alpha - 6
Scrum Meeting Alpha - 6 NewTeam 2017/10/31 地点:主南203 任务反馈 团队成员 完成任务 计划任务 安万贺 完成了个人博客和班级列表部分API的包装 完成个 ...
- flask中使用xlsxwriter导出excel文件
最近需要使用flask导出xlsxwriter生成的excel文件,在文件比较小的情况下,可以直接导出. 首先,这里使用了StringIO,导出使用的模块 import xlsxwriter impo ...
- mac电脑安装apache,不能启动
因为mac系统是自带apach的 如果安装正确还是不能启动,有可能是 mac电脑自带apache功能,与安装的apache冲突. 这样关闭Mac自带apach即可. mac电脑apache命令:重启a ...