原题:http://acm.hdu.edu.cn/showproblem.php?pid=1113
题意:
给出一部字典,然后输入一些字符串,从字典中查找是否有相对应地单词,若没有则输出NOT A VALID WORD;
#include<iostream>
#include<stdio.h>
#include<string>
#include<algorithm>
#include<map>
using namespace std;
string str;
map<string, string>Map;
int main()
{
while(cin>>str && str!="XXXXXX")
{
string s = str;
sort(str.begin(), str.end());
Map.insert(pair<string, string>(s, str));
}
while(cin>>str && str!="XXXXXX")
{
int flag = 0;
sort(str.begin(), str.end());
map<string, string>::iterator it;
for(it = Map.begin();it!=Map.end();it++)
{
if(it->second == str)
{
flag = 1;
cout<<it->first<<endl;
}
}
if(!flag)
cout<<"NOT A VALID WORD"<<endl;
cout<<"******"<<endl;
}
return 0;
}

本文深入探讨了HDU在线评测平台中实现字符串匹配算法的详细过程,包括使用字典存储单词,通过排序和映射来优化搜索效率,并通过实例展示了如何检查输入字符串是否存在于字典中,对于ACM竞赛准备和算法学习具有较高参考价值。
644

被折叠的 条评论
为什么被折叠?



