Codeforces Round 928 (Div. 4) B. Vlad and Shapes

胖柚の工作室發表於2024-05-07

題目連結:

看每行是否有單獨的一個 \(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;
}

相關文章