F.A.Q
Hand In Hand
Online Acmers
Problem Archive
Realtime Judge Status
Authors Ranklist
 
     C/C++/Java Exams     
ACM Steps
Go to Job
Contest LiveCast
ICPC@China
Best Coder beta
VIP | STD Contests
    DIY | Web-DIY beta
Author ID 
Password 
 Register new ID

循环位移

Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)
Total Submission(s): 3174    Accepted Submission(s): 1048


Problem Description
定义字符串 $ S=S_0+\dots+S_{n-1} $ 循环位移 $ k $ 次为 $ S(k) = S_{k\mod n}+\dots + S_{n-1} + S_0 + \dots + S_{(k-1) \mod n} $。

定义 $ [A] = \set{A(k), k \in \mathbb N}. $

给出 $ T $ 组串 $ A, B $,询问 $B$ 有多少个子串在 $ [A] $ 中。
 

Input
第一行一个 $T$ 表示输入组数。

接下来每行两个字符串,表示 $A$ 和 $B$,保证 $|A| \leq |B|$。

保证 $\sum |B| \leq 1048576.$,并且字符串均由大写字母组成。
 

Output
输出 $T$ 行,每行一个数表示答案。
 

Sample Input
3 AN MANTLEFAN MVP XPTIJMVPMVP CJMR JDRCJMRAJMRCJMGC
 

Sample Output
2 4 5
 

Hint
第一个样例:M`AN`TLEFAN,MANTLEF`AN`第三个样例:JD`RCJM`RAJMRCJMGC,JDR`CJMR`AJMRCJMGC,JDRCJMRA`JMRC`JMGC,JDRCJMRAJ`MRCJ`MGC,JDRCJMRAJM`RCJM`GC
 

Source
 

Statistic | Submit | Discuss | Note
Hangzhou Dianzi University Online Judge 3.0
Copyright © 2005-2024 HDU ACM Team. All Rights Reserved.
Designer & Developer : Wang Rongtao LinLe GaoJie GanLu
Total 0.000000(s) query 1, Server time : 2024-11-25 01:16:40, Gzip enabled