Birthday Cake
题号:NC229265
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld

题目描述

牛牛的家人将要给牛牛开生日派对。他们喜欢牛牛,所以他们打算让他的生日蛋糕变得奇怪!

蛋糕是一个 的正方形,由边长为的相等正方形组成。每个正方形要么是空的,要么由一个巧克力组成。他们买了蛋糕,开始随意地把巧克力放在蛋糕上。牛牛的幸福值将等于蛋糕的同一行或同一列中带有巧克力的单元格对数。牛牛的家人想知道牛牛的幸福值是多少?

请注意,任何对的计数不能超过一次,因为两个不同的单元格不能共享同一行和同一列。

输入描述:

在输入的第一行,你得到一个整数,表示蛋糕边的长度。

然后跟随 行,每行包含 个字符。空单元格用“.”表示,而包含巧克力的单元格用“C”表示。

输出描述:

输出一个整数表示牛牛的幸福值。
示例1

输入

复制
3
.CC
C..
C.C

输出

复制
4

说明

如果我们从上到下对行进行编号,从左到右对列进行编号,那么在第一个样本中共享同一行的部分是:
(1, 2) 和 (1, 3) 
(3, 1) 和 (3, 3) 
共享同一列的部分是: 
(2, 1) 和 (3, 1)
(1, 3) 和 (3, 3)
示例2

输入

复制
4
CC..
C..C
.CC.
.CC.

输出

复制
9

备注:

原题链接:https://codeforces.com/problemset/problem/629/A