首页 > 代码库 > HDU 1247 Hat’s Words(map,STL,字符处理,string运用)

HDU 1247 Hat’s Words(map,STL,字符处理,string运用)

题目

 

用map写超便捷

也可以用字典树来写

 

我以前是用map的:

 

#include<stdio.h>#include<string.h>#include<algorithm>#include<string>#include<math.h>#include <iostream>#include<map>using namespace std;string word[50010];int main(){    int i=0,n,len,j;    map<string,int>m;//    map<string,int>::iterator q;    while(cin>>word[i])    {        m[word[i++]]=1;//这里是标记该单词在map里的    }    n=i;    for(i=0;i<n;i++)    {        len=word[i].length();        for(j=0;j<len;j++)        {            string s1(word[i],0,j);//C++中string的操作:复制函数:word[i]的 0~j 位复制给s1            string s2(word[i],j);//同上:复制函数:j~末位(前边必要加string 定义?)            if(m[s1]==1&&m[s2]==1)            {                cout<<word[i]<<endl;                break;            }        }    }    return 0;}
View Code