2 shunfurh shunfurh 于 2017.09.03 22:41 提问

Crazy Search

Many people like to solve hard puzzles some of which may lead them to madness. One such puzzle could be finding a hidden prime number in a given text. Such number could be the number of different substrings of a given size that exist in the text. As you soon will discover, you really need the help of a computer and a good algorithm to solve such a puzzle.

Your task is to write a program that given the size, N, of the substring, the number of different characters that may occur in the text, NC, and the text itself, determines the number of different substrings of size N that appear in the text.

As an example, consider N=3, NC=4 and the text "daababac". The different substrings of size 3 that can be found in this text are: "daa", "aab", "aba", "bab", "bac". Therefore, the answer should be 5.

Input

The first line of input consists of two numbers, N and NC, separated by exactly one space. This is followed by the text where the search takes place. You may assume that the maximum number of substrings formed by the possible set of characters does not exceed 16 Millions.

Output

The program should output just an integer corresponding to the number of different substrings of size N found in the given text.

This problem contains multiple test cases!

The first line of a multiple input is an integer N, then a blank line followed by N input blocks. Each input block is in the format indicated in the problem description. There is a blank line between input blocks.

The output format consists of N output blocks. There is a blank line between output blocks.

Sample Input

1

3 4
daababac

Sample Output

5

1个回答

caozhy
caozhy   Ds   Rxr 2017.09.18 04:25
已采纳
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
POJ1200 Crazy Search
题目描述DescriptionMany people like to solve hard puzzles some of which may lead them to madness. One such puzzle could be finding a hidden prime number in a given text. Such number could be the number of different substrings of a given size that exist in the
hdu 1381 Crazy Search
字符串
POJ-1200 Crazy Search,人生第一道hash题!
Crazy Search     真是不容易啊,人生第一道hash题竟然是搜博客看题解来的。        题意:给你一个包含m种字符的字符串,求长度为n的不同子串有多少个。     将每个字串化为一个具体的数然后存入数组标记即可,如果重复出现肯定不用再加了。那么怎么化为一个数呢,这里用的方法是先将每个字符对应一个数,然后每个长度为n的子串就有了一个连续的数,将这个数段转化为m进制下的
Crazy Search (P1200)
简单的HASH,可是要注意,这里不全是小写字母,所以要用数组a[ ]转换一下。 #include #include #include #include using namespace std; //freopen("C://i.txt","r",stdin); #define N 16000001 int name[N]; bool hash[N]; int n,nc; cha
poj-1200 Crazy Search
Language: Default Crazy Search Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 19424   Accepted: 5506 Description Many people like to solve hard puzzles some
[POJ] 1200 Crazy Search [HASH]
题意:给你一个很长的字符串,有NC种字符,给你子串的长度N,问在这个很长的字符串中有多少不同长度为N的子串; 思路:把字母用数字来表示,daababac->12231314,然后每个子串用NC进制表示,存进数组里面,再用hash来判断; 上代码 #include #include #include #include #include using namespace std; #de
POJ 1200 Crazy Search(哈希算法)【模板】
Many people like to solve hard puzzles some of which may lead them to madness. One such puzzle could be finding a hidden prime number in a given text. Such number could be the number of different substrings of a given size that exist in the text. As you so
(POJ - 1200)Crazy Search
(POJ - 1200)Crazy Search Many people like to solve hard puzzles some of which may lead them to madness. One such puzzle could be finding a hidden prime number in a given text. Such number could be the number of
poj1200Crazy Search
题目的链接:http://poj.org/problem?id=1200 Language: Default Crazy Search Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 25786   Accepted: 7216 Descri
POJ1200 Crazy Search(hash)
题意: 给一个有nc种字符的字符串,要求它有几个大小为n的子串。 要点: 字符串长度可以是16000000但字符总数最多300,所以hash是必不可少的。先将nc种字符一一对应到hash数组中,只存入第一次出现的位置,使每一个字符都对应这0---nc-1的一个数字,然后是重点:将长度为n的子串看作n位的nc进制数,将问题转化为共有多少种十进制数字,用数组记录,最后遍历子串即可。