当前位置: 首页 > news >正文

洛谷 P3392 涂条纹-普及-

P3392 涂条纹

题目描述

只要一个由 N×MN \times MN×M 个小方块组成的旗帜符合如下规则,就是合法的图案。

  • 从最上方若干行(至少一行)的格子全部是白色的;
  • 接下来若干行(至少一行)的格子全部是蓝色的;
  • 剩下的行(至少一行)全部是红色的;

现有一个棋盘状的布,分成了 NNNMMM 列的格子,每个格子是白色蓝色红色之一,小 a 希望把这个布改成合法图案,方法是在一些格子上涂颜料,盖住之前的颜色。

小 A 很懒,希望涂最少的格子,使这块布成为一个合法的图案。

输入格式

第一行是两个整数 N,MN,MN,M

接下来 NNN 行是一个矩阵,矩阵的每一个小方块是 W(白),B(蓝),R(红)中的一个。

输出格式

一个整数,表示至少需要涂多少块。

输入输出样例 #1

输入 #1

4 5
WRWRW
BWRWB
WRWRW
RWBWR

输出 #1

11

说明/提示

样例解释

目标状态是:

WWWWW
BBBBB
RRRRR
RRRRR

一共需要改 111111 个格子。

数据范围

对于 100%100\%100% 的数据,N,M≤50N,M \leq 50N,M50

solution

通过枚举三个部分的范围,其实就是两条分割线,找到最小值即可

代码

#include <sstream>
#include "iostream"
#include "cmath"
#include "algorithm"
#include "cstring"
#include "unordered_set"
#include "deque"
#include "stack"
#include "queue"
#include "vector"
#include "unordered_map"using namespace std;const int N = 50;
int R[N], W[N], B[N], n, m;
int TR[N], TW[N], TB[N];int main() {cin >> n >> m;char c;for (int i = 0; i < n; i++) {for (int j = 0; j < m; j++) {cin >> c;if (c == 'R') R[i]++; else if (c == 'B') B[i]++; else W[i]++;}}TR[0] = R[0];TW[0] = W[0];TB[0] = B[0];for (int i = 1; i < n; i++) {TR[i] = TR[i - 1] + R[i];TW[i] = TW[i - 1] + W[i];TB[i] = TB[i - 1] + B[i];}int s = INT32_MAX;for (int i = 0; i < n - 2; i++) {for (int j = i + 1; j < n - 1; j++) {int ss = TR[i] + TB[i] + TR[j] - TR[i] + TW[j] - TW[i] + TB[n - 1] - TB[j] +TW[n-1] - TW[j];if (ss < s)s = ss;}}cout << s;return 0;
}

结果

在这里插入图片描述

http://www.dtcms.com/a/506837.html

相关文章:

  • 【 柒个贰航空旅游-注册安全分析报告-无验证方式导致安全隐患】
  • CentOS 7 安装 MySQL 8
  • Java 数据类型分类
  • 定制高端网站建设设计上传网站图片不显示
  • 无人机路径规划与定位技术原理及实现详解
  • 自己做公司网站适用于手机的网站怎么建设
  • 解决前端多标签页通信:BroadcastChannel
  • [css] border 渐变
  • 前端错误监控实践:Sentry 在 Vite + Vue 项目中的配置与原理详解
  • Marin说PCB之GMSL2网络中AC电容前端控制100欧姆和不做差分100欧姆的区别?
  • Oracle 数据库 Schema 备份与导入全攻略
  • PySide6 使用搜索引擎搜索 多类实现
  • 东莞市外贸网站建设公司自己做投票的网站
  • 网站建设的基础服务器专业建站公司的业务内容
  • 【iOS】KVC 与 KVO 的基本了解与使用
  • Day66 DHT11温湿度传感器驱动开发与单总线通信协议
  • 【代码管理】在本地使用github和gitee之后,可能存在冲突,导致再次提交代码时提示Couldn‘t connect to server
  • bash:**:pip:***python: 错误的解释器: 没有那个文件或目录
  • OpenCV(十二):Mat
  • iOS 智能应用开发实践:从模型集成到场景化交互
  • 更好的网站制作系统平台
  • 佛山市手机网站建设网站建设管理工作情况的通报
  • ThinkPad 安装 Ubuntu 系统教程
  • 《未来的 AI 操作系统(四)——AgentOS 的内核设计:调度、记忆与自我反思机制》
  • Platform Health Management 与 EXM/STM 的集成实现方式
  • lambda怎么遍历集合
  • 国外客户推广网站做羞羞事的网站
  • 安装好PySide6后如何找到Qt Designer(pyside6-designer.exe)可执行文件
  • EIT/ERT技术在机器人触觉传感的硬件及电路实现
  • h5游戏免费下载:公园停车