3612 - 彩色的棋子(chess)
小S正趴在地上画画,发现书桌上有一个国际象棋棋盘,上面还放了一些棋子。她想用手中的彩笔给这些棋子都涂上颜色,使得每一行或每一列里没有颜色相同的棋子。
Input
第一行一个整数N(1≤N≤100),表示国际象棋的棋盘规模是N*N的。
Output
输出一个整数M,表示至少要涂M种颜色。
Examples
Input
2 *. **
Output
2
Solution C++
#include <bits/stdc++.h> using namespace std; int r[101], c[101]; // r行, c列 int main() { int n, ans = 0; char ch; cin >> n; for (int i = 1; i <= n; i++) for (int j = 1; j <= n; j++) { cin >> ch; if (ch == '*') { r[i]++, c[j]++; ans = max(ans, max(r[i], c[j])); } } cout << ans << endl; return 0; }