双旋转字符串
暂无测试数据。
描述
给定两个字符串集合\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