双旋转字符串
暂无测试数据。
描述
给定两个字符串集合\mathcal{S}S和$\mathcal{T}T。其中\mathcal{S}S中的所有字符串长度都恰好为N,而\mathcal{T}T中所有字符串长度都恰好为M,且N+M恰好为偶数。
如果记\mathcal{S}S中字符串全体为S_1,S_2,\cdots,S_{Total_S}S 
1
 ,S 
2
 ,⋯,S 
Total 
S
   
 ,而\mathcal{T}T中字符串全体为T_1,T_2,\cdots,T_{Total_T}T 
1
 ,T 
2
 ,⋯,T 
Total 
T
   
 。现在希望知道有多少对\langle i,j\rangle⟨i,j⟩,满足将S_iS 
i
 和T_jT 
j
 拼接后得到的字符串S_i+T_jS 
i
 +T 
j
 满足双旋转性。
一个长度为偶数字符串WW可以表示成两段长度相同的字符串的拼接,即W=U+V。如果V可以通过U旋转得到,则称W是满足双旋转性的。比如说字符串U=“vijos”,可以通过旋转得到“ijosv”,“josvi”,“osvij”或“svijo”。那么“vijosjosvi”就是满足双旋转性的字符串。
格式
输入格式
第一行输入四个正整数,分别为Total_STotal 
S
 ,Total_TTotal 
T
 ,N和M,依次表示集合\mathcal{S}S的大小,集合\mathcal{T}T的大小,集合\mathcal{S}S中字符串的长度和集合\mathcal{T}T中字符串的长度。
之后Total_STotal 
S
 行,依次给出\mathcal{S}S中所有的字符串S_i,1\le i\le Total_S1≤i≤Total 
S
 。保证每一个字符串长度都恰为N,且字符串只由26个小写字母组成。
之后Total_TTotal 
T
 行,依次给出\mathcal{T}T中所有的字符串T_iT 
i
 ,1\le i\le Total_T1≤i≤Total 
T
 。保证每一个字符串长度都恰为M,且字符串只由26个小写字母组成。
输出格式
输出一个整数,表示满足要求的数字对\langle i,j\rangle⟨i,j⟩有多少个。
样例1
样例输入1
4 4 7 3
vijosvi
josvivi
vijosos
ijosvsv
jos
vij
ijo
jos
Copy
样例输出1
6
Copy
限制
对于10%的数据,1\le N\le 100,~1\le M\le 100,~1\le Total_S\le 100,~1\le Total_T\le 1001≤N≤100, 1≤M≤100, 1≤Total 
S
 ≤100, 1≤Total 
T
 ≤100。
对于30%的数据,1\le N\le 500,~1\le M\le 500,~1\le Total_S\le 500,~1\le Total_T\le 5001≤N≤500, 1≤M≤500, 1≤Total 
S
 ≤500, 1≤Total 
T
 ≤500。
对于60%的数据,2\le N\times Total_S + M\times Total_T \le 4\times 10^52≤N×Total 
S
 +M×Total 
T
 ≤4×10 
5
 。
对于100%的数据,2\le N\times Total_S + M\times Total_T \le 4\times 10^62≤N×Total 
S
 +M×Total 
T
 ≤4×10 
6
 。
来源
SDOI2015 round2 day1