题目描写叙述

知道 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;
}

SJTU 1319. countColors的更多相关文章

  1. ASP.NET MVC请求处理管道生命周期的19个关键环节(13-19)

    在上一篇"ASP.NET MVC请求处理管道生命周期的19个关键环节(7-12) ",体验了7-12关键环节,本篇继续. ⒀当请求到达UrlRoutingModule的时候,Url ...

  2. 【BZOJ 1319】 Sgu261Discrete Rootsv (原根+BSGS+EXGCD)

    1319: Sgu261Discrete Roots Time Limit: 1 Sec  Memory Limit: 64 MBSubmit: 389  Solved: 172 Descriptio ...

  3. Ural 1319 - Hotel

       You programmers are lucky! You don't have to deal with these terrible people – designers… This st ...

  4. (light oj 1319) Monkey Tradition 中国剩余定理(CRT)

    题目链接:http://lightoj.com/volume_showproblem.php?problem=1319 In 'MonkeyLand', there is a traditional ...

  5. bzoj1420/1319 Discrete Root

    传送门:http://www.lydsy.com/JudgeOnline/problem.php?id=1420 http://www.lydsy.com/JudgeOnline/problem.ph ...

  6. SJTU 1077 加分二叉树

    http://acm.sjtu.edu.cn/OnlineJudge/problem/1077 题意: 设一个n个节点的二叉树tree的中序遍历为(l,2,3,…,n),其中数字1,2,3…,n为节点 ...

  7. WIKIOI 1319 玩具装箱

    1319 玩具装箱 题目描述 Description P教授要去看奥运,但是他舍不下他的玩具,于是他决定把所有的玩具运到北京.他使用自己的压缩器进行压缩,其可以将任意物品变成一堆,再放到一种特殊的一维 ...

  8. WUSTOJ 1319: 球(Java)并查集

    题目链接:1319: 球 参考:wustoj 1319 球-wust_tanyao,并查集 并查集系列:WUSTOJ 1346: DARK SOULS(Java)并查集 Description Icy ...

  9. 1319 - Monkey Tradition

    1319 - Monkey Tradition   PDF (English) Statistics Forum Time Limit: 2 second(s) Memory Limit: 32 MB ...

随机推荐

  1. debian 9 安装后的配置,debian 9 开发环境。

    注意:以下命令用sudo或者以root用户进行 一.Xterm(在安装KDE桌面情况下)的配置(可以黏贴,复制): 首先在根目录下编辑文件.Xresources(没有可以创建) root@debian ...

  2. Python 绘图与可视化 seaborn

    Seaborn是一个基于matplotlib的Python数据可视化库.它提供了一个高级界面,用于绘制有吸引力且信息丰富的统计图形. 主页:http://seaborn.pydata.org/ 官方教 ...

  3. 2019-03-28 SQL Server Pivot

    --现在我们是用PIVOT函数将列[WEEK]的行值转换为列,并使用聚合函数Count(TotalPrice)来统计每一个Week列在转换前有多少行数据,语句如下所示 select * from Sh ...

  4. js 如何判断浏览器是否禁用cookie

    语法:navigator.cookieEnabled: 如果浏览器启用了cookie,该属性值为true.如果禁用了cookie,则值为false. navigator: JavaScript中的一个 ...

  5. 页面关闭或刷新时触发javascript的事件

    当页面在关闭或刷新时提示 window.onbeforeunload(function(){ //判断是关闭还是刷新 1.满足关闭,否则是刷新 if(event.clientX>document ...

  6. leetcode第一刷_Add Binary

    二进制相加,本质上就是大整数加法,有关大整数加法我的舍友教过我一个非常好的方法,先用一个int数组保存结果,将两个数相应位置相加,所有加完后.再统一处理进位的问题.这种方法相同适用于大整数的乘法. 这 ...

  7. WebRTC代码走读(八):代码文件夹结构

    转载注明出处http://blog.csdn.net/wanghorse ├── ./base //基础平台库,包含线程.锁.socket等 ├── ./build //编译脚本.gyp ├── ./ ...

  8. xxx while the managed IDbConnection interface was being used: Login failed for user xxx

    Process cube的时候遇到如下错误.   Errors in the high-level relational engine. The following exception occurre ...

  9. Git 连接细节

    Git 连接细节 首先创建Git 账号 https://github.com/ 下载Git https://git-scm.com/downloads 新建远程仓库 SSH keys : 打开 Git ...

  10. Codeforces 987A. Infinity Gauntlet(手速题,map存一下输出即可)

    解法: 1.先将对应的字符串存入map. 2.然后将输入的串的second置为空. 3.输出6-n,输出map中的非空串. 代码: #include <bits/stdc++.h> usi ...