题目描写叙述

知道 psypaint 怎么用吗?在巫女系统全面普及的未来世界。非常少人会知道 psypaint 的使用方法。

而身处在公安局作为监视官的朱同学。为了办案须要研究起了 psypaint 的使用方法。

如今朱面前的显示屏上是 psypaint 的操作画面。画面上有一张纯白色画布,画布能够依据须要无限延伸。

如今剪贴板里有一张 n*m 像素的图片,图片上有些像素有颜色。没颜色的地方则是透明的。

颜色有 3 种,分别用 R,G,B 表示,而透明则用’ . ’表示。第一次粘贴操作,剪贴板会以画布(1,1)位置为图片的左上角把图片粘贴上去,第二次粘贴操作则以(2,2)为左上角。以此类推。注意到图片有颜色的地方会覆盖掉画布原有位置的颜色。而透明则显示的还是原来画布的颜色。如今朱同学不小心按了 T 次粘贴操作。请问 T 次操作之后颜色为 R,G,B 的像素各有多少个。

输入格式

第一行 n,m

接下来是一个 n*m 的字符矩阵。描写叙述了剪贴板里的图片

最后一行是 T

输出格式

一行输出 3 个数。用空格隔开为 R,G,B 颜色像素的数量。

输入例子

3 3
..G
R..
BG.
3

输出例子

3 4 3

数据约定

对于 30%数据 T<=50

对于全部数据保证 1<=n,m<=50,1<=T<=10^9

思路:先动手写几个。发现规律,我们从斜线考虑。假设在出现R,G。B之前还没有出现‘.’的话,那么因为覆盖的话,那么这些将出现t次。然后就是先出现过像素的话。那么接下出现的像素不会被覆盖掉,所以也要考虑。至于都是空白的话,就是不考虑了

#include <iostream>
#include <cstdio>
#include <cstring>
#include <algorithm>
#include <cmath>
typedef long long ll;
using namespace std;
const int maxn = 60;int n, m, t;
char g[55][55];
ll ans[3];void deal(int x, int y) {int flag = 0;int tmp = 1;while (g[x][y] != 0) {if (flag) {if (g[x][y] == '.') tmp++;else {if (g[x][y] == 'R') ans[0] += min(t, tmp);else if (g[x][y] == 'G') ans[1] += min(t, tmp);else if (g[x][y == 'B']) ans[2] += min(t, tmp);tmp = 1;}} else if (g[x][y] != '.') {if (g[x][y] == 'R') ans[0] += t;else if (g[x][y] == 'G') ans[1] += t;else if (g[x][y] == 'B') ans[2] += t;flag = 1;}x++;y++;}
}int main() {while (scanf("%d%d", &n, &m) != EOF) {memset(g, 0, sizeof(g));memset(ans, 0, sizeof(ans));for (int i = 0; i < n; i++)scanf("%s", g[i]);scanf("%d", &t);for (int i = 0; i < n; i++) deal(i, 0);for (int i = 1; i < m; i++)deal(0, i);printf("%lld %lld %lld\n", ans[0], ans[1], ans[2]);}return 0;
}

转载于:https://www.cnblogs.com/mfmdaoyou/p/7069045.html

SJTU 1319. countColors相关推荐

  1. 上海交大情感脑电数据集(SJTU Emotion EEG Dataset,SEED)

    目录 SEED数据集介绍 1.刺激与实验 2.受试者(subjects) 3.数据集摘要 SJTU 情感脑电数据集(SEED)是由BCMI实验室提供的EEG数据集的集合,该实验室由吕宝粮教授领导 . ...

  2. 信息学奥赛一本通 1319:【例6.1】排队接水 | 洛谷 P1223 排队接水

    [题目链接] ybt 1319:[例6.1]排队接水 洛谷 P1223 排队接水 [题目考点] 1. 贪心 2. 贪心选择性质的证明 要想证明贪心选择可以得到最优解,只需要证明最优解包含每一次的贪心选 ...

  3. 信息学奥赛一本通(1319:【例6.1】排队接水)

    1319:[例6.1]排队接水 时间限制: 1000 ms         内存限制: 65536 KB 提交数: 17332     通过数: 7890 [题目描述] 有n个人在一个水龙头前排队接水 ...

  4. sjtu 1077 加分二叉树

    树型DP入门题 题目链接:http://acm.sjtu.edu.cn/OnlineJudge/problem/1077 •设f(i,j)中序遍历为i,i+1,-,j的二叉树的最大加分,则有: f(i ...

  5. 1319. 连通网络的操作次数

    链接:1319. 连通网络的操作次数 题解: 1.图的bfs遍历 class Solution {public:void bfs(std::unordered_map<int, std::vec ...

  6. R countcolors包:像素级分析处理图片

    作者:李誉辉 四川大学在读研究生 转载自公众号:EasyCharts 1 简介 countcolors包是Hannah Weller编写的,根据"RGB色值范围"查找图片中的像素点 ...

  7. 【算法学习笔记】65. 双向扫描 SJTU OJ 1382 畅畅的牙签盒

    http://acm.sjtu.edu.cn/OnlineJudge/problem/1382 注意到 排序之后 i从前向后扫描时,cur恰好是从后向前的,所以即使是双重循环,也是O(n)的算法. # ...

  8. 【Matlab风电功率预测】麻雀算法优化BP神经网络风电功率预测【含源码 1319期】

    一.代码运行视频(哔哩哔哩) [Matlab风电功率预测]麻雀算法优化BP神经网络风电功率预测[含源码 1319期] 二.matlab版本及参考文献 1 matlab版本 2014a 2 参考文献 [ ...

  9. Light Oj 1319 (中国剩余定理)

    题目链接:http://lightoj.com/volume_showproblem.php?problem=1319 中国剩余定理模版,详解------>>>(中国剩余定理讲解) ...

最新文章

  1. 如何使用Ajax技术开发Web应用程序(2)
  2. 《统计学习方法》读书笔记(1)---学习的要素
  3. centos 开发php扩展,【PHP扩展】centos给PHP安装扩展
  4. SpringMVC接收ajax请求并回传json数据,配置的步骤及问题解决。No converter found for type ArrayList with Content-Type null
  5. 【CyberSecurityLearning 70】DC系列之DC-1渗透测试(Drupal)
  6. 手机main.html文件,tab-main.html
  7. 移动设备改变IO,试图改变(数据的)存储和处理(CPU)
  8. 2021牛客暑期多校训练营7 xay loves trees dfs序 + 主席树
  9. ExecutorService源码解读
  10. YFI与Curve合作项目初始支持6种算法稳定币
  11. 广义注意力- saliency map 关注图、gaze、Att
  12. Solved: RDP Disconnected – Error Code 2825 mremote
  13. 树莓派无线投屏服务器,树莓派 Raspberry Pi 设置无线上网
  14. 对接钉钉API语音功能相关文档
  15. 软件测试工程师应该如何进行职业规划?
  16. Android之在app图标添加角标
  17. 2022最新微信小程序常见面试题总结
  18. linux定时释放内存,定时释放Linux 内存 带释放记录
  19. 使用js关闭浏览器的方法
  20. 基于python的股票程序化交易论文_基于Python工具的股票量化投资策略研究

热门文章

  1. 新版本Hexo+next搭建博客的注意事项(更新中)
  2. 2022年 HSC-1th中REVERSE的ANDROID
  3. 【学习笔记】尚硅谷周阳老师的Docker教程学习笔记
  4. 2023年陕西高考,理科状元竟然有四位同学!
  5. 新年之初 云计算2009年十大预测
  6. js倒计时结束后播放音乐html5,js实现简单的倒计时
  7. android逆向之路九
  8. Effective Java 2.0_中英文对照_Item 8
  9. Transoft.TORUS.v4.0.1.200 1CD环转交叉路设计插件
  10. eplan 电箱布局_基于Eplan的电柜三维布线的应用