洛谷P3392 涂国旗

P3392 涂国旗

    • 107通过
    • 507提交
  • 题目提供者kkksc03
  • 标签
  • 难度普及-

 提交  讨论  题解  

最新讨论

  • 直接读字符会wa
  • WA?--
  • 为什么不对。。。
  • 跪求找错
  • 快点给钱
  • 这不就是荷兰国旗问题吗

题目描述

某国法律规定,只要一个由N*M个小方块组成的旗帜符合如下规则,就是合法的国旗。(毛熊:阿嚏——)

  • 从最上方若干行(>=1)的格子全部是白色的。

  • 接下来若干行(>=1)的格子全部是蓝色的

  • 剩下的行(>=1)全部是红色的

现有一个棋盘状的破布,分成了N行M列的格子,每个格子是白色蓝色红色之一,小a希望把这个布改成该国国旗,方法是在一些格子上涂颜料,盖住之前的颜色。

小a很懒,希望涂最少的格子,使这块破布成为一个合法的国旗。

输入输出格式

输入格式:

 

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

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

 

输出格式:

 

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

 

输入输出样例

输入样例#1:
4 5
WRWRW
BWRWB
WRWRW
RWBWR
输出样例#1:
11

说明

样例解释:

目标状态是

WWWWW
BBBBB
RRRRR
RRRRR

一共需要改11个格子

对于100%的数据,N,M<=50

分析:以为是dp,但是仔细一想,发现完全可以枚举哪一行涂什么颜色,这样的话只需要在预处理的时候将第i行涂第j种颜色需要的代价求出来即可.

#include <cstdio>
#include <iostream>
#include <cstring>
#include <algorithm>using namespace std;int n, m,w[55],r[55],b[55],ans = 2510;
char c[55][55];int main()
{scanf("%d%d", &n, &m);for (int i = 1; i <= n; i++)for (int j = 1; j <= m; j++){cin >> c[i][j];if (c[i][j] == 'W'){r[i]++;b[i]++;}if (c[i][j] == 'R'){b[i]++;w[i]++;}if (c[i][j] == 'B'){w[i]++;r[i]++;}}//for (int i = 1; i <= n; i++)//printf("%d %d %d\n", w[i], b[i], r[i]);for (int i = 2; i < n; i++)for (int j = i + 1; j <= n; j++){int temp = 0;for (int k = 1; k <= n; k++){if (k < i){temp += w[k];//printf("1 %d\n", temp);
            }if (k >= i && k < j){temp += b[k];//printf("2 %d\n", temp);
            }if (k >= j){temp += r[k];//printf("3 %d\n", temp);
            }}ans = min(temp, ans);//printf("%d\n", temp);
        }printf("%d", ans);//while (1);return 0;
}

 

转载于:https://www.cnblogs.com/zbtrs/p/5998066.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/417876.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

php小问题

///PHP显示错误;display_errors Offdisplay_errors on ///PHP截取字符串$str1234567890;怎么从左边第二位截取到右边数第二位&#xff1f;取其中间。 $str 1234567890;print substr($str, 1, strlen($str)-2); ///php获取时间date("Y年m月d日"); 2008年4月6日date…

mysql5.7.11 创建用户_修改更新查找MySQL5.7.x的root用户的默认密码

最近新安装了wamp3.0.4里面附带的mysql已经升级到了5.7版本了。MySQL5.7在性能方面有很大的提升。安装成功之后默认root的密码为空能登录。但是正常情况下需要给root重新设置新的密码。对于MySQL5.7版本来说和之前的5.6及以下版本的user表不一样了(user表里面没有了password这个…

协方差

协方差一般用来研究诸多实验中各个变量之间的关系。举个例子来说&#xff0c;有n个实验&#xff0c;每个实验得到两个数据&#xff0c;分别为变量x1和变量x2。设n 7。这七组实验得到的数据分别为&#xff1a; (3,5), (4,5.5),(2,4),(6,7),(8,10),(2,5),(5,7.5) 用MATLAB…

预定义变量$_SERVER

PHP的getenv函数的参数列表$_SERVER["HTTP_X_FORWARDED_FOR"] 以阻止普通的匿名代理 $spager$_SERVER["SERVER_NAME"]; or$spagergetenv(SERVER_NAME); “PHP_SELF”当前正在执行脚本的文件名&#xff0c;与 document root 相关。举例来说…

mysql教程为什么很多都用dos_在dos操作mysql基础教程详解

第一招、mysql服务的启动和停止net stop mysqlnet start mysql第二招、登陆mysql语法如下&#xff1a; mysql -u用户名 -p用户密码键入命令mysql -uroot -p&#xff0c; 回车后提示你输入密码&#xff0c;输入12345&#xff0c;然后回车即可进入到mysql中了&#xff0c;mysql的…

今天刚开通博客,很开心

今天刚开通博客&#xff0c;很开心&#xff0c;我是一名大三的一名学生&#xff0c;机电专业的&#xff0c;下个月都要出去实习&#xff0c;很忐忑&#xff0c;也对外面的世界充满这憧憬.....明天继续&#xff0c;今天太晚了。转载于:https://www.cnblogs.com/namei/p/6002480.…

postgresql查询mysql库_postgresql 查看数据库,表,索引,表空间以及大小

客户要求用pgsql&#xff0c;所在服务器装了一下pgsql&#xff0c;我出了一个pgsql的分类&#xff0c;看这篇文章前&#xff0c;把这个分类下的文章都可以看一下&#xff0c;这是我熟悉pgsql的一套流程。以前搞过一次pgsql&#xff0c;很早了。1,查看数据库playboy> \l //\加…

配置linux系统自带apache+php+mysql

######################配置apache服务####################################cd /etc/httpd/conf#gedit httpd.conf#编辑配置文件Listen 80Listen 10.1.8.39:8080#添加监听端口LoadModule php5_module /usr/lib/httpd/modules/libphp5.soAddType application/x-httpd-php .php …

行为类模式(二):命令(Command)

定义 将一个请求封装成一个对象&#xff0c;从而让你使用不同的请求把客户端参数化&#xff0c;对请求排队或者记录请求日志&#xff0c;可以提供命令的撤销和恢复功能。 UML 优点 能比较容易的设计一个命令队列可以较容易的将命令加入日志允许接收请求的一方是否处理请求可以容…

win7 nginx mysql php_windows7配置Nginx+php+mysql的详细教程

最近在学习PHP&#xff0c;想把自己的学习经历记录下来&#xff0c;并写一些经验&#xff0c;仅供参考交流。此文适合那些刚刚接触PHP&#xff0c;想要学习并想要自己搭建NginxPHPMysqL环境的同学。当然&#xff0c;你也可以选择集成好的安装包&#xff0c;比如 wamp等&#xf…

我的虚拟化设想(My virtualization vision)

王洪岐&#xff08;Wang Hongqi&#xff09; 当前的服务器虚拟化技术所虚拟的操作系统都是完整的操作系统&#xff0c;我认为这样会在一定程度上造成了资源的浪费和技术难度的增加&#xff1a;多个操作系统就有多个操作硬件设备的操作程序&#xff0c;虚拟平台要在操作系统底层…

mysql start with connect by_MYSQL实现Oracle的Start with…Connect By递归树查询

最近接触一个老项目&#xff0c;最初适配的数据库是oracle 后来迁移到mysql 。这个迁移是由一个已经离职的新手做的。这个新手对于很多oracle特有的函数及存储过程都没有进行迁移。导致系统很多功能都BUG了。失效了。既然我遇到了&#xff0c;就尽量进行解决。刚刚遇到了一个存…

Kmplayer播放器 绿色免安装版 2016 中文版

软件名称&#xff1a; Kmplayer播放器 绿色免安装版 软件语言&#xff1a; 简体中文 授权方式&#xff1a; 免费软件 运行环境&#xff1a; Win 32位/64位 软件大小&#xff1a; 42.8MB 图片预览&#xff1a; 软件简介: Kmplayer播放器绿色免安装版&#xff0c;多功能的影音播放…

java 关闭时_java – 活动关闭时服务停止

我已经阅读了一些与这个问题相关的答案,它们似乎都是一样的&#xff1a;“使用START_STICKY运行您的服务”“在前台运行您的服务”“使用startService运行您的服务,不要绑定它”我正在做所有这些事情,我的服务STILL关闭并在每次关闭活动时重新启动.这不是IntentService.我也没有…

ie6 offsetWidth/offsetHeight无效

ie6 offsetWidth/offsetHeight无效可采用手动获取&#xff1a;offsetWidthparseInt(node.style.width)parseInt(node.style.paddingLeft)parseInt(node.style.paddingRight);offsetHeightparseInt(node.style.height)parseInt(node.style.paddingTop)parseInt(node.style.paddi…

什么是反向代理,如何区别反向与正向代理

转自&#xff1a;http://blog.csdn.NET/shixing_11/article/details/7106241 一直对反射代理的反向不知道如何理解&#xff0c;经过百度知道&#xff0c;再结合下面这幅图&#xff0c;总算弄清楚一点了。简单的说从一个局域网出来到服务端为正向&#xff0c;从客户端要进入一个…

java socket 浏览器_Socket实现Java和浏览器交互。

昨天写了段小程序&#xff0c;现贴出来看看。以下是socket的简单介绍。获取两台联通的机器之间的IP和端口号等信息。import java.io.IOException;import java.net.Socket;public class SockerDemo {public static void main(String[] args) throws IOException {Socket socket …

C常用函数

///printf()%d 整数%f 浮点%p 指针地址 ///bzero(void *s, int n);原型&#xff1a;extern void bzero(void *s, int n);  用法&#xff1a;#include <string.h>  功能&#xff1a;置字节字符串s的前n个字节为零。 ///FD_ZERO(fd_set *fdset);将指定的文件描述符集清…

HashMap和ConcurrentHashMap的区别,HashMap的底层源码。

Hashmap本质是数组加链表。根据key取得hash值&#xff0c;然后计算出数组下标&#xff0c;如果多个key对应到同一个下标&#xff0c;就用链表串起来&#xff0c;新插入的在前面。 ConcurrentHashMap&#xff1a;在hashMap的基础上&#xff0c;ConcurrentHashMap将数据分为多个s…

mudos开发简介

首先我们应该知道mudos提供哪些服务我们可以从许多lib中找到我们需要什么假设我们的lib还是拥有很多现在mud的特性 比如战斗 人物和世界我们需要一些最基本的东西比如 master.c user.c login.c <include>你完全可以使用不一样的文件名 甚至修改出自己的mudos 你也可以完全…