三角形
背景
liuichou和royZhang都是近视眼,经常看错题目(有逻辑关联吗)。这次数学考试,他们又犯了低级错误。好在可以编写一个程序来解决一部分的问题。
描述
一个由大写字母组成的方阵里面可能包含一些等腰直角三角形。这次他们要数出方阵中由各种字母组成的等腰直角三角形的数目,以及等腰直角三角形的总数,而你的任务是写一个程序来统计。方阵中的等腰直角三角形只有下面两种情况:
(1) 两条直角边分别跟方阵的边平行,例如:
AAA B
AA BB
A BBB
(2) 等腰直角三角形的斜边与方阵的边平行,例如:
A B
AAA BB
AAAAA BBB
BB
B
每个等腰直角三角形都不能少于3个字母。
格式
输入格式
文件的第一行是一个整数N(0<N<=100), 接下来总共有N行,每行有N个大写字母,描述的是一个N*N的大写字母方阵。行首与行末没有多余的空格。
输出格式
第一行输出方阵中总共有多少个等腰直角三角形。然后对方阵中出现的每个字母,求出由它所组成的等腰直角三角形的个数,并按照字典顺序逐行输出。
样例1
样例输入1
3
AAB
ABB
BBC
样例输出1
4
A 1
B 3
C 0
样例2
样例输入2
4
AABB
ABBB
BBBB
BBBB
样例输出2
51
A 1
B 50
限制
1 second
提示
来源
SQ CLASS公开编程竞赛2008——Problem C
Source: liuichou