首页 > 试题广场 >

模串

[编程题]模串
  • 热度指数:348 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 256M,其他语言512M
  • 算法知识视频讲解
\hspace{15pt}小歪有一个数字 l 初始为零,对于 n 个字符串,他依次读入,随后,对于第 1,2,\dots,n 个字符串,依次执行:
\hspace{22.5pt}\bullet\如果第 i 个字符串的长度 |s_i| 满足 |s_i| \bmod m 等于 i \bmod m ,则将 l 加一 ;
\hspace{22.5pt}\bullet\否则,则将 l 减一 ;
\hspace{15pt}其中,\bmod\ m 即对于给定的 m 取模。求解整个过程中能够得到的最大的 l

输入描述:
\hspace{15pt}第一行输入两个整数 n,m \left( 1\leqq n,m \leqq 10^5 \right) 代表字符串数量。
\hspace{15pt}此后 n 行,每行输入一个长度非零、仅由小写字母构成的字符串 s
\hspace{15pt}除此之外,保证全部的字符串长度之和不超过 10^6


输出描述:
\hspace{15pt}在一行上输出一个整数,代表整个过程中能够得到的最大的 l
示例1

输入

5 4
d
dd
ddd
ddddd
d

输出

3

说明

\hspace{15pt}l 的变化为:0 \to 1 \to 2 \to 3 \to 2 \to 3 ,答案为 3
示例2

输入

4 4
d
dd
ddd
ddddd

输出

3
头像 丨阿伟丨
发表于 2025-09-12 14:53:04
题目链接 模串 题目描述 小歪有一个初始为零的整数 。他会依次读入 个字符串。对于第 个字符串( 从 1 到 ),其长度为 。根据以下规则来更新 的值: 如果满足条件 ,则将 加一。 否则,将 减一。 整个目标是求解这个过程中 能达到的最大值。 解题思路 本题的解法是一个直接的模拟。 展开全文