#P11705. 「KTSC 2020 R1」字符串查找
「KTSC 2020 R1」字符串查找
题目背景
请使用 C++17 或 C++20 提交本题
你需要在程序开头加入如下代码:
#include <bits/stdc++.h>
int findP(char T[], char P[], int N, int M);
题目译自 2020년도 국제정보올림피아드 대표학생 선발고사 - 1차 선발고사 T1「 문자열 찾기」
题目描述
对于由小写英文字母组成的两个字符串 和 ,当满足以下条件时,称这两个字符串实际上相同:
- 和 的长度相同。
- 对于所有可能的整数 和 ,如果 的第 个字符和第 个字符相同,则 的第 个字符和第 个字符也相同。
- 对于所有可能的整数 和 ,如果 的第 个字符和第 个字符不同,则 的第 个字符和第 个字符也不同。
例如, 和 是实际上相同的字符串。但是, 和 不是实际上相同的字符串。
编写一个程序,你将会得到字符串 和 ,计算 的连续子字符串中与 实际上相同的子字符串的数量。
例如, 和 , 中从左到右的子字符串 有 个与 实际上相同。
你需要实现以下函数:
int findP(char T[], char P[], int N, int M);
T
是长度为 的字符数组。P
是长度为 的字符数组。T
和P
分别存储了长度为 和 的小写英文字母字符串。T
和P
的最后一个位置存储了'\0'
。findP
函数返回T
的连续子字符串中与P
实际上相同的子字符串的数量。
你需要提交一份代码,该代码中实现以下函数:
int findP(char T[], char P[], int N, int M);
该函数应按照上述描述工作。当然,你可以创建其他函数并在内部使用。提交的代码不应执行输入输出操作或访问其他文件。
输入格式
示例评测程序按以下格式读取输入:
- 第 行:字符串
- 第 行:字符串
输出格式
示例评测程序将输出你的代码中 findP()
函数返回的值。
abababbab
pqp
5
提示
样例说明 #1
函数调用 | 返回值 |
---|---|
findP("abababbab", "pqp", 9, 3) |
5 |
数据范围
对于所有输入数据,满足:
详细子任务附加限制及分值如下表所示。
Subtask | 分值 | 约束 |
---|---|---|
无附加限制 |