題目連結:
看每行是否有單獨的一個 \(1\)。如果有的話就肯定是三角形,否則就是正方形。
主要需要注意的是這裡要用 \(\rm vector<string>\) 而不能用二維的 \(\rm int\) 陣列,否則在第一個輸入
000
011
011
一個個輸出的話是
0 11 11
0 0 0
0 0 0
也就是說在輸入第二行 \(011\) 結束的時候換行才把 \(11\) 讀入陣列中,顯然不對。
(其實題目已經規定了輸入的得是字元沒看到qwq)
#include <bits/stdc++.h>
void solve() {
int n;
std::cin >> n;
std::vector<std::string> s(n);
for (int i = 0; i < n; i++) std::cin >> s[i];
for (int i = 0; i < n; i++) {
if (std::count(s[i].begin(), s[i].end(), '1') == 1) {
std::cout << "TRIANGLE\n";
return;
}
}
std::cout << "SQUARE\n";
}
int main()
{
std::ios::sync_with_stdio(false), std::cin.tie(nullptr);
int t;
std::cin >> t;
while (t--) solve();
return 0;
}