SJTU 1319. countColors
题目描写叙述
知道 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的更多相关文章
- ASP.NET MVC请求处理管道生命周期的19个关键环节(13-19)
在上一篇"ASP.NET MVC请求处理管道生命周期的19个关键环节(7-12) ",体验了7-12关键环节,本篇继续. ⒀当请求到达UrlRoutingModule的时候,Url ...
- 【BZOJ 1319】 Sgu261Discrete Rootsv (原根+BSGS+EXGCD)
1319: Sgu261Discrete Roots Time Limit: 1 Sec Memory Limit: 64 MBSubmit: 389 Solved: 172 Descriptio ...
- Ural 1319 - Hotel
You programmers are lucky! You don't have to deal with these terrible people – designers… This st ...
- (light oj 1319) Monkey Tradition 中国剩余定理(CRT)
题目链接:http://lightoj.com/volume_showproblem.php?problem=1319 In 'MonkeyLand', there is a traditional ...
- bzoj1420/1319 Discrete Root
传送门:http://www.lydsy.com/JudgeOnline/problem.php?id=1420 http://www.lydsy.com/JudgeOnline/problem.ph ...
- SJTU 1077 加分二叉树
http://acm.sjtu.edu.cn/OnlineJudge/problem/1077 题意: 设一个n个节点的二叉树tree的中序遍历为(l,2,3,…,n),其中数字1,2,3…,n为节点 ...
- WIKIOI 1319 玩具装箱
1319 玩具装箱 题目描述 Description P教授要去看奥运,但是他舍不下他的玩具,于是他决定把所有的玩具运到北京.他使用自己的压缩器进行压缩,其可以将任意物品变成一堆,再放到一种特殊的一维 ...
- WUSTOJ 1319: 球(Java)并查集
题目链接:1319: 球 参考:wustoj 1319 球-wust_tanyao,并查集 并查集系列:WUSTOJ 1346: DARK SOULS(Java)并查集 Description Icy ...
- 1319 - Monkey Tradition
1319 - Monkey Tradition PDF (English) Statistics Forum Time Limit: 2 second(s) Memory Limit: 32 MB ...
随机推荐
- SpringBoot 消费NSQ消息
使用监听器,来实现实时消费nsq的消息 一.目前spring boot中支持的事件类型如下 ApplicationFailedEvent:该事件为spring boot启动失败时的操作 Applica ...
- MyBatis学习总结(2)——使用MyBatis对表执行CRUD操作
一.使用MyBatis对表执行CRUD操作--基于XML的实现 1.定义sql映射xml文件 userMapper.xml文件的内容如下: <?xml version="1.0&quo ...
- Windows里正确安装Zookeeper以服务运行
不多说,直接上干货! 为什么要在Win下来安装Zookeeper呢? 其实玩过大数据的人很清楚,在Linux下我更不说了.在win下,如Disconf .Dubbo等应用. 所以,它的应用是非常广的. ...
- HDU——T 1054 Strategic Game
http://acm.hdu.edu.cn/showproblem.php?pid=1054 Time Limit: 20000/10000 MS (Java/Others) Memory Li ...
- 关于thinkpadU盘系统盘启动不了解决方法
http://www.laomaotao.org/softhelp/bios/382.html(原文章地址,比较全面) thinkpad笔记本uefi无法启动详细解决教程 最近有个别用户反映说thin ...
- Qt之qInstallMessageHandler(输出详细日志)
简述 安装之前已定义的消息处理程序,返回一个指向前一个消息处理程序. 消息处理程序是一个函数,用于打印调试信息.警告信息.严重错误和致命的错误的消息.Qt库(debug模式)包含成百上千的警告信息打印 ...
- Android仿QQ ios dialog,仿QQ退出向上菜单
Android仿QQ ios dialog,仿QQ退出向上菜单 EasyDialog两种模式 仿QQ退出向上菜单,自己定义向上菜单 github地址:https://gith ...
- LeetCode OJ 之 Number of Digit One (数字1的个数)
题目: Given an integer n, count the total number of digit 1 appearing in all non-negative integers les ...
- poj1961--Period(KMP求最小循环节)
Period Time Limit: 3000MS Memory Limit: 30000K Total Submissions: 13511 Accepted: 6368 Descripti ...
- Android中文API-ViewStub
ViewStub控件是一个不可见,0尺寸得惰性控件.当ViewStub控件设置可见,或者调用inflate(),并运行完毕之后,ViewStub所指定的layout资源就会被载入.这个ViewStub ...