CF149E.Martian Strings

提高+/省选-

通过率:0%

时间限制:2.00s

内存限制:256MB

AC君温馨提醒

该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

During the study of the Martians Petya clearly understood that the Martians are absolutely lazy. They like to sleep and don't like to wake up.

Imagine a Martian who has exactly n eyes located in a row and numbered from the left to the right from 1 to n. When a Martian sleeps, he puts a patch on each eye (so that the Martian morning doesn't wake him up). The inner side of each patch has an uppercase Latin letter. So, when a Martian wakes up and opens all his eyes he sees a string s consisting of uppercase Latin letters. The string's length is n.

"Ding dong!" — the alarm goes off. A Martian has already woken up but he hasn't opened any of his eyes. He feels that today is going to be a hard day, so he wants to open his eyes and see something good. The Martian considers only m Martian words beautiful. Besides, it is hard for him to open all eyes at once so early in the morning. So he opens two non-overlapping segments of consecutive eyes. More formally, the Martian chooses four numbers a, b, c, d, (1 ≤ a ≤ b < c ≤ d ≤ n) and opens all eyes with numbers i such that a ≤ i ≤ b or c ≤ i ≤ d. After the Martian opens the eyes he needs, he reads all the visible characters from the left to the right and thus, he sees some word.

Let's consider all different words the Martian can see in the morning. Your task is to find out how many beautiful words are among them.

在研究火星人时,佩佳清楚地意识到:火星人极其懒惰,他们喜欢睡觉,不喜欢早起。

想象一个火星人,他恰好有 nn 只眼睛,从左到右排成一排,并依次编号为 11 到 nn。当这个火星人睡觉时,他会给每只眼睛贴上一个眼罩(以免清晨的光线将他唤醒)。每个眼罩的内侧印有一个大写拉丁字母。因此,当火星人醒来并睁开全部眼睛时,他所看到的是一串由大写拉丁字母组成的字符串 ss,其长度为 nn。

“叮咚!”——闹钟响了。火星人已经醒来,但尚未睁开任何一只眼睛。他预感今天会是艰难的一天,因此希望睁开眼睛后能看到一些美好的东西。火星人仅认为 mm 个火星语单词是“优美的”。此外,由于清晨刚醒,他很难一次性睁开全部眼睛。因此,他选择睁开两段互不重叠的连续眼睛区间。更准确地说,火星人选择四个整数 a,b,c,da, b, c, d,满足 1 ≤ a ≤ b < c ≤ d ≤ n1 ≤ a ≤ b < c ≤ d ≤ n,然后睁开所有编号 ii 满足 a ≤ i ≤ ba ≤ i ≤ b 或 c ≤ i ≤ dc ≤ i ≤ d 的眼睛。在睁开选定的眼睛后,他从左到右依次读出所有可见字符,从而看到某个单词。

考虑火星人在清晨可能看到的所有不同单词。你的任务是:统计其中有多少个是优美的单词。

输入格式

The first line contains a non-empty string s consisting of uppercase Latin letters. The strings' length is n (2 ≤ n ≤ 105). The second line contains an integer m (1 ≤ m ≤ 100) — the number of beautiful words. Next m lines contain the beautiful words p__i, consisting of uppercase Latin letters. Their length is from 1 to 1000. All beautiful strings are pairwise different.

第一行包含一个非空字符串 ss,由大写拉丁字母组成。字符串的长度为 nn(2 ≤ n ≤ 1052 \leq n \leq 10^5)。
第二行包含一个整数 mm(1 ≤ m ≤ 1001 \leq m \leq 100)—— 美丽单词的数量。
接下来的 mm 行每行包含一个美丽单词 pip_i,由大写拉丁字母组成,长度在 11 到 10001000 之间。所有美丽字符串两两不同。

输出格式

Print the single integer — the number of different beautiful strings the Martian can see this morning.

输出一个整数——火星人今天早晨能看到的不同优美字符串的数量。

输入输出样例

  • 输入#1

    ABCBABA
    2
    BAAB
    ABBA

    输出#1

    1

说明/提示

Let's consider the sample test. There the Martian can get only the second beautiful string if he opens segments of eyes a = 1, b = 2 and c = 4, d = 5 or of he opens segments of eyes a = 1, b = 2 and c = 6, d = 7.

我们来考虑样例测试。在此情况下,火星人只有在睁开眼睛区间 a=1, b=2a=1,\ b=2 和 c=4, d=5c=4,\ d=5,或睁开眼睛区间 a=1, b=2a=1,\ b=2 和 c=6, d=7c=6,\ d=7 时,才能得到第二个优美的字符串。

输入解题思路,AI测评打分。不知道怎么写?

首页