首页 > 代码库 > hdu1381 Crazy Search(hash map)

hdu1381 Crazy Search(hash map)

题目意思:

给出一个字符串和字串的长度,求出该字符串的所有给定长度的字串的个数(不相同)。

题目分析:
此题为简单的字符串哈hash map问题,可以直接调用STL里的map类。map<string,int> snum;


AC代码:

#include<iostream>
#include<string>
#include<map>
using namespace std;
int main()
{
    int t,n,nc;
    cin>>t;
    while(t--){
        string s;
        map<string,int> snum;
        cin>>n>>nc>>s;
        int k=0;
        int len=s.length();
        for(int i=0;i<=len-n;i++){
            string ss=s.substr(i,n);
            if(snum[ss]==0){
                k++;
                snum[ss]=1;
            }
        }
        cout<<k<<endl;
        if(t>1) cout<<endl;
    }
    return 0;
}


hdu1381 Crazy Search(hash map)