#3502. [GESP四级模拟]对称的对角线
[GESP四级模拟]对称的对角线
题目描述
在一个 的字符方阵中,我们关注所有主对角线方向(从左上到右下 ↘)的对角线。每条对角线取它最靠左上方的格子作为起始位置:即起点在第一行 ()或第一列 ()。
如果一条对角线上的字符,从左上方读到右下方,与从右下方读到左上方完全相同,那么这条对角线就是对称的。
请你找出所有对称的对角线,输出它们的数量,以及每条对称对角线的起始位置和长度。
长度为 的对角线天然对称。
输入格式
第一行一个正整数 。
接下来 行,每行 个字符(均为小写英文字母),字符之间没有空格。
输出格式
第一行一个整数 ,表示对称对角线的数量。
接下来 行,每行三个整数 ,分别表示一条对称对角线的起始行号、起始列号(均从 开始)和长度。
要求按以下规则排序:
- 长度从大到小;
- 长度相同的,按起始行号从小到大;
- 还相同的,按起始列号从小到大。
样例 #1
3
aba
bbb
aaa
4
0 0 3
0 1 2
0 2 1
2 0 1
样例解释 #1
主对角线方向共有 条对角线(起点在上边或左边):
| 起点 | 经过的格子 | 字符串 | 是否对称 |
|---|---|---|---|
| (0,0) | (0,0)(1,1)(2,2) | aba |
✓ |
| (0,1) | (0,1)(1,2) | bb |
|
| (0,2) | a |
||
| (1,0) | (1,0)(2,1) | ba |
✗ |
| (2,0) | a |
✓ | |
因此共有 条对称的对角线。按长度降序后输出。
数据范围
。