P3392 涂国旗
1.P3392 涂国旗
2.P3799 妖梦拼木棒(组合数学)[P3392 涂国旗]{https://www.luogu.com.cn/problem/P3392}
这题我一开始思路是先把至少一行的定完了,再去通过比较个数来确定区域的颜色。这是个错误的想法(没法保证连续性)
但其实题目已经提示的很明显了,连续且一整行,所以直接按题目要求来,三个区域意味着两条分界线,枚举两条分界线的所有情况就ok了。
#include <iostream>
#include <string>
#include <algorithm>
#include <iomanip>
using namespace std;
char a[51][51];
int b[51];
int main() {
int n, m;
cin >> n >> m ;
for (int i = 1; i <= n; i++) {
for (int j = 1; j <= m; j++) {
cin >> a[j][i];
}
}
int min = 999999999;
for (int i = 1; i <= n - 2; i++) {
for (int j = i + 1; j <= n - 1; j++) {
for (int k = 1; k <= i ; k++) {
for (int p = 1; p <= m; p++) {
if (a[p][k] != 'W') {
b[1]++;
}
}
}
for (int k = i + 1 ; k <= j ; k++) {
for (int p = 1; p <= m; p++) {
if (a[p][k] != 'B') {
b[1]++;
}
}
}
for (int k = j + 1 ; k <= n ; k++) {
for (int p = 1; p <= m; p++) {
if (a[p][k] != 'R') {
b[1]++;
}
}
}
if (b[1] <= min) {
min = b[1];
}
b[1] = 0;
}
}
cout << min;
return 0;
}
合集:
洛谷枚举
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?