传统题 1000ms 256MiB

小Q爱引诱

该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。

题目描述

就和大部分音游人一样,小Q 也是一名双指底力玩家,也同样因为不会多指而陷入了瓶颈期。

练习多指是痛苦的,因为多指的键型多种多样,比如说对拍、切换、楼梯。对于一个初学者来说,想要快速读出谱面的键型,是一件很困难的事。

不过,我们完全可以先把整张谱面看一遍,进行一定的记忆,从而降低实时读谱的难度。

给定一张包含 44 个竖直轨道的谱面(即 下落式 4\mathtt{4}-Key\mathtt{Key} 谱)ss。谱面共有 nn 行,每行包含 44 个字符,从左到右分别代表了 1,2,3,41, 2, 3, 4 轨道。si,j=#s_{i, j} = \mathtt{'\#'} 代表第 ii 行第 jj 轨道上包含一个音符,si,j=.s_{i, j} = \mathtt{'.'} 代表第 ii 行第 jj 轨道上不包含音符。

Q 发现自己在谱面复杂的时候,无法准确读出 "单手切换"^\dagger 的键型,所以想要你帮他找出满足下面条件的段落数量,以及所处位置:

  1. 段落包含连续的若干行,且尽可能长;

  2. 任意两个段落间无交集;

  3. 对于段落的任意一行,不存在 1,21, 2 3,43, 4 轨均不为 "单手切换" 键型的情况。

^\dagger"单手切换" 键型一般指 1,21, 2或者 3,43, 4 轨上音符左右交替出现,需要单手两只手指切换处理,至少包含 33 行。

1, 2 轨上的 "单手切换"

3,43, 4 轨为例,下面的键型不是 "单手切换"(音符过少、并非交替出现、出现多余的音符):

...#     ..#.     ..#.
..#.     ..#.     ...#
         ..#.     ..##

输入格式

第一行包含一个整数 nn (1n105)(1 \leq n \leq 10 ^ 5),代表谱面的行数。

接下来共有 nn 行,第 ii 行包含一个长度为 44 的字符串 sis_i,代表了谱面第 ii44 个轨道中音符的存在情况。

输入保证 si,j{#,.}s_{i, j} \in \{\mathtt{'\#'}, \mathtt{'.'}\}

输出格式

第一行输出一个整数 xx,代表满足条件的段落数量。

接下来输出 xx 行,每行输出 22 个数字 li,ril_i, r_i,代表段落 ii 的左端点和右端点。

你可以按任意顺序输出段落,但必须保证 li<ril_i < r_i,且任意两个段落间无交集。

18
...#
..#.
....
...#
..#.
...#
....
#...
.#..
#...
....
..#.
..#.
..#.
....
..#.
...#
..##
2
4 6
8 10
7
..#.
#...
..#.
....
#..#
..#.
#..#
1
5 7
12
...#
..#.
#..#
.#..
#...
..#.
...#
..#.
##..
..#.
...#
..#.
2
10 12
1 8

说明

样例 11 的解释已在题面中给出。

对于样例 221,31, 3 轨不构成 "单手切换"。第 575 \sim 7 行的 3,43, 4 轨为 "单手切换"。

对于样例 33,注意段落的衔接。

FJNU·ACM-24级新手村の第二场世纪大战(重现赛)

未参加
状态
已结束
规则
IOI
题目
9
开始于
2024-9-28 16:05
结束于
2025-4-25 0:05
持续时间
5000 小时
主持人
参赛人数
29