CF1926B Vlad and Shapes

题目描述

Vladislav 有一个 $n \times n$ 的二进制正方形网格。在网格上用符号 $\texttt{1}$ 画出了一个三角形或正方形。由于他太忙于耍酷了,他请你帮他判断网格上画的是哪种图形。 - 三角形是指由 $k$($k>1$)个连续的行组成的图形,其中第 $i$ 行有 $2 \cdot i-1$ 个连续的 $\texttt{1}$,且这些 $\texttt{1}$ 居中于某一列。倒三角形(顶点朝下)也算作有效的三角形(但不包括旋转 $90$ 度的情况)。 ![](https://cdn.luogu.com.cn/upload/vjudge_pic/CF1926B/d8a49219d8ccd3c7a5facae05fb9a26aa416143a.png) 左边两幅图是三角形的例子:$k=4$,$k=3$。右边两幅图不是三角形。 - 正方形是指由 $k$($k>1$)个连续的行组成的图形,其中第 $i$ 行有 $k$ 个连续的 $\texttt{1}$,并且这些 $\texttt{1}$ 距离网格左边界的距离相等。 ![](https://cdn.luogu.com.cn/upload/vjudge_pic/CF1926B/d56283753d9168adf5daade9bd37d733683cd3a8.png) 这是两个正方形的例子:$k=2$,$k=4$。 对于给定的网格,请判断画的是哪种图形。

输入格式

第一行包含一个整数 $t$($1 \leq t \leq 100$),表示测试用例的数量。 每个测试用例的第一行包含一个整数 $n$($2 \leq n \leq 10$),表示网格的大小。 接下来的 $n$ 行,每行包含 $n$ 个字符,字符为 $\texttt{0}$ 或 $\texttt{1}$。 网格中恰好有一个三角形或一个正方形,且所有的 $\texttt{1}$ 都属于该图形。保证三角形或正方形的大小大于 $1$(即图形不能只由一个 $\texttt{1}$ 组成)。

输出格式

对于每个测试用例,如果所有的 $\texttt{1}$ 在网格中构成一个正方形,输出 "SQUARE";否则输出 "TRIANGLE"(不带引号)。

说明/提示

由 ChatGPT 4.1 翻译