uva10391 Compound Words (substr用法)

来源:互联网 发布:走台步的基本技巧 知乎 编辑:程序博客网 时间:2024/06/05 05:23

题意:给你一组字符串构成一个字典,问字典中是否存在复合词,复合词的定义为这个词在字典中,并且油这个词分割成的两个词也在字典中。

用map存字典,遍历整个字典,遍历到其中一个字符串的时候,用substr分割这个字符串来判断分割后的两个词是否在字典中。


#include<bits/stdc++.h>using namespace std;int main(){    map<string,int>mp;    string s[120010];    int i=0;    while(cin>>s[i])        mp[s[i++]]=1;    int n=i;    for(int i=0;i<n;i++)    {        for(int j=0;j<s[i].size()-1;j++)        {            string ss=s[i].substr(0,j+1);            string s1=s[i].substr(j+1);            if(mp[ss]&&mp[s1])            {                cout<<s[i]<<endl;                break;            }        }    }    return 0;}


原创粉丝点击