311044: CF1926B. Vlad and Shapes
Description
Vladislav has a binary square grid of $n \times n$ cells. A triangle or a square is drawn on the grid with symbols $\texttt{1}$. As he is too busy being cool, he asks you to tell him which shape is drawn on the grid.
- A triangle is a shape consisting of $k$ ($k>1$) consecutive rows, where the $i$-th row has $2 \cdot i-1$ consecutive characters $\texttt{1}$, and the central 1s are located in one column. An upside down triangle is also considered a valid triangle (but not rotated by 90 degrees).
- A square is a shape consisting of $k$ ($k>1$) consecutive rows, where the $i$-th row has $k$ consecutive characters $\texttt{1}$, which are positioned at an equal distance from the left edge of the grid.
For the given grid, determine the type of shape that is drawn on it.
InputThe first line contains a single integer $t$ ($1 \leq t \leq 100$) — the number of test cases.
The first line of each test case contains a single integer $n$ ($2 \leq n \leq 10$) — the size of the grid.
The next $n$ lines each contain $n$ characters $\texttt{0}$ or $\texttt{1}$.
The grid contains exactly one triangle or exactly one square that contains all the $\texttt{1}$s in the grid. It is guaranteed that the size of the triangle or square is greater than $1$ (i.e., the shape cannot consist of exactly one 1).
OutputFor each test case, output "SQUARE" if all the $\texttt{1}$s in the grid form a square, and "TRIANGLE" otherwise (without quotes).
ExampleInput6 3 000 011 011 4 0000 0000 0100 1110 2 11 11 5 00111 00010 00000 00000 00000 10 0000000000 0000000000 0000000000 0000000000 0000000000 1111111110 0111111100 0011111000 0001110000 0000100000 3 111 111 111Output
SQUARE TRIANGLE SQUARE TRIANGLE TRIANGLE SQUARE
Output
Vlad 有一个 $ n \times n $ 的二进制方格。在这个方格上用符号 `1` 画了一个三角形或一个正方形。由于他太忙于装酷,他要求你告诉他方格上画的是哪个形状。
- 一个三角形是由 $ k $ ($ k > 1 $) 连续的行组成,其中第 $ i $ 行有 $ 2 \times i - 1 $ 个连续的字符 `1`,并且中间的 `1` 位于同一列。倒三角形也被认为是有效的三角形(但不是旋转 90 度的)。
- 一个正方形是由 $ k $ ($ k > 1 $) 连续的行组成,其中第 $ i $ 行有 $ k $ 个连续的字符 `1`,这些字符位于与网格左边缘等距离的位置。
给定一个方格,确定方格上画的形状的类型。
输入数据格式:
第一行包含一个整数 $ t $ ($ 1 \leq t \leq 100 $) —— 测试用例的数量。
每个测试用例的第一行包含一个整数 $ n $ ($ 2 \leq n \leq 10 $) —— 方格的大小。
接下来的 $ n $ 行每行包含 $ n $ 个字符 `0` 或 `1`。
方格中恰好有一个三角形或一个正方形,包含所有的 `1`。保证三角形或正方形的大小大于 1(即形状不能完全由一个 `1` 组成)。
输出数据格式:
对于每个测试用例,如果方格中的所有 `1` 组成一个正方形,输出 "SQUARE",否则输出 "TRIANGLE"(不带引号)。题目大意: Vlad 有一个 $ n \times n $ 的二进制方格。在这个方格上用符号 `1` 画了一个三角形或一个正方形。由于他太忙于装酷,他要求你告诉他方格上画的是哪个形状。 - 一个三角形是由 $ k $ ($ k > 1 $) 连续的行组成,其中第 $ i $ 行有 $ 2 \times i - 1 $ 个连续的字符 `1`,并且中间的 `1` 位于同一列。倒三角形也被认为是有效的三角形(但不是旋转 90 度的)。 - 一个正方形是由 $ k $ ($ k > 1 $) 连续的行组成,其中第 $ i $ 行有 $ k $ 个连续的字符 `1`,这些字符位于与网格左边缘等距离的位置。 给定一个方格,确定方格上画的形状的类型。 输入数据格式: 第一行包含一个整数 $ t $ ($ 1 \leq t \leq 100 $) —— 测试用例的数量。 每个测试用例的第一行包含一个整数 $ n $ ($ 2 \leq n \leq 10 $) —— 方格的大小。 接下来的 $ n $ 行每行包含 $ n $ 个字符 `0` 或 `1`。 方格中恰好有一个三角形或一个正方形,包含所有的 `1`。保证三角形或正方形的大小大于 1(即形状不能完全由一个 `1` 组成)。 输出数据格式: 对于每个测试用例,如果方格中的所有 `1` 组成一个正方形,输出 "SQUARE",否则输出 "TRIANGLE"(不带引号)。