纯属练习JAVA....

B. Om Nom and Spiders
time limit per test

3 seconds

memory limit per test

256 megabytes

input

standard input

output

standard output

Om Nom really likes candies and doesn't like spiders as they frequently steal candies. One day Om Nom fancied a walk in a park. Unfortunately, the park has some spiders and Om Nom doesn't want to see them at all.

The park can be represented as a rectangular n × m field. The park has k spiders, each spider at time 0 is at some cell of the field. The spiders move all the time, and each spider always moves in one of the four directions (left, right, down, up). In a unit of time, a spider crawls from his cell to the side-adjacent cell in the corresponding direction. If there is no cell in the given direction, then the spider leaves the park. The spiders do not interfere with each other as they move. Specifically, one cell can have multiple spiders at the same time.

Om Nom isn't yet sure where to start his walk from but he definitely wants:

  • to start walking at time 0 at an upper row cell of the field (it is guaranteed that the cells in this row do not contain any spiders);
  • to walk by moving down the field towards the lowest row (the walk ends when Om Nom leaves the boundaries of the park).

We know that Om Nom moves by jumping. One jump takes one time unit and transports the little monster from his cell to either a side-adjacent cell on the lower row or outside the park boundaries.

Each time Om Nom lands in a cell he sees all the spiders that have come to that cell at this moment of time. Om Nom wants to choose the optimal cell to start the walk from. That's why he wonders: for each possible starting cell, how many spiders will he see during the walk if he starts from this cell? Help him and calculate the required value for each possible starting cell.

Input

The first line contains three integers n, m, k (2 ≤ n, m ≤ 2000; 0 ≤ k ≤ m(n - 1)).

Each of the next n lines contains m characters — the description of the park. The characters in the i-th line describe the i-th row of the park field. If the character in the line equals ".", that means that the corresponding cell of the field is empty; otherwise, the character in the line will equal one of the four characters: "L" (meaning that this cell has a spider at time 0, moving left), "R" (a spider moving right), "U" (a spider moving up), "D" (a spider moving down).

It is guaranteed that the first row doesn't contain any spiders. It is guaranteed that the description of the field contains no extra characters. It is guaranteed that at time 0 the field contains exactly k spiders.

Output

Print m integers: the j-th integer must show the number of spiders Om Nom will see if he starts his walk from the j-th cell of the first row. The cells in any row of the field are numbered from left to right.

Sample test(s)
input
3 3 4
...
R.L
R.U

output
0 2 2 

input
2 2 2
..
RL

output
1 1 

input
2 2 2
..
LR

output
0 0 

input
3 4 8
....
RRLL
UUUU

output
1 3 3 1 

input
2 2 2
..
UU

output
0 0 

Note

Consider the first sample. The notes below show how the spider arrangement changes on the field over time:

...        ...        ..U       ...
R.L   ->   .*U   ->   L.R   ->  ...
R.U        .R.        ..R       ...

Character "*" represents a cell that contains two spiders at the same time.

  • If Om Nom starts from the first cell of the first row, he won't see any spiders.
  • If he starts from the second cell, he will see two spiders at time 1.
  • If he starts from the third cell, he will see two spiders: one at time 1, the other one at time 2.
import java.util.*;public class Main
{public static void main(String[] args){Scanner cin=new Scanner(System.in);int n=cin.nextInt(),m=cin.nextInt(),k=cin.nextInt();String[] mp=new String[n];for(int i=0;i<n;i++)mp[i]=cin.next();int[] ans=new int[m];for(int i=0;i<n;i++){for(int j=0;j<m;j++){char c=mp[i].charAt(j);if(c=='U'){if(i%2==0)ans[j]++;}else if(c=='R'){int t=i+j;if(t<m)ans[t]++;}else if(c=='L'){int t=j-i;if(t>=0)ans[t]++;}}}StringBuilder RET=new StringBuilder();for(int i=0;i<m;i++){RET.append(ans[i]+" ");}System.out.println(RET);}
}

Codefoces 436 B. Om Nom and Spiders相关推荐

  1. B. Om Nom and Dark Park

    B. Om Nom and Dark Park 在满二叉树上的某些边上添加一些值.使得根节点到叶子节点的路径上的权值和都相等.求最少需要添加多少. 我们利用性质解题.   考察兄弟节点.由于他们从跟节 ...

  2. 【Henu ACM Round#19 E】 Om Nom and Candies

    [链接] 我是链接,点我呀:) [题意] 在这里输入题意 [题解] 紫书上的原题: 链接 [代码] #include <bits/stdc++.h> #define ll long lon ...

  3. 关于上传文件的跨域问题

    在进行新框架开发的过程中,需要自定义页面组件实现脱离表单的文件(图片)上传,考虑过wex5自带的attachmentsimple的自定义写法很难受,就改用了第三方插件webuploader来实现选择文 ...

  4. 《为iPad而设计:打造畅销App》——想象iPad上的游戏

    本节书摘来自异步社区<为iPad而设计:打造畅销App>一书中的想象iPad上的游戏,作者[英]Chris Stevens,更多章节内容可以访问云栖社区"异步社区"公众 ...

  5. 世界顶级音效公司_世界顶级游戏开发公司

    世界顶级音效公司 The game industry is growing, especially among small, independent development companies. If ...

  6. Practice II 字符串

    本来想做数论的--但是别的dalao都在做制胡窜 所以-- Chapter I KMP KMP 最关键的不是这个半暴力的单模匹配 而是这个nxt数组 经常出一些奇怪的题 尤其是循环节可以直接由T-nx ...

  7. HTTP 头部字段 Access-Control-Allow-Origin

    前后端分离的协作开发方式,已经被很多公司采用.若前后端部署在不同的域名下,就会碰到跨域的问题.对于跨域的问题,W3C 有标准的解决方案,即跨域资源共享(Cross-origin resource sh ...

  8. web前端研发工具篇

    web前端研发工具篇 一.常见前端开发IDE 1.Visual Studio Code 2.hbuilder 3.sublime text3 4.WebStorm 5.Atom 6.Dreamweav ...

  9. 移动游戏开发商50强(世界)

    http://media.cocoachina.com/pg-global-mobile-developers-top-10-1/ 在2012年的榜单揭晓之前,先让我们回顾一下2011年的10强吧. ...

最新文章

  1. August 14, 2009 - Choice
  2. golang 开发常见坑
  3. MTK 平台上查询当前使用的摄像头模组及所支持预览分辨率
  4. Web开发人员常备连接总结
  5. PHPUnit-附录 A. 断言 (assert)
  6. 201509280825_《css3——media query整理2》
  7. 北方大学 ACM 多校训练赛 第十五场 买花
  8. python中级_python复习之中级
  9. html百度地图秘钥,自己网页调用百度地图API 附API密钥
  10. Linux的10个经典彩蛋
  11. 【Typecho插件-前端-播放器】BiliVid -- 好用的Bilibili视频链接解析播放器
  12. Ubuntu安装pycharm专业版方法
  13. QA:filter-CIC滤波器参数设计
  14. 基频和倍频的概念_什么是基频,倍频,合频,泛频峰
  15. 张益唐被曝已证明黎曼猜想相关问题,震动数学界(文末送书)
  16. K8s 污点(Taints)与容忍(Tolerations)
  17. Victor ti99不错
  18. 最全的 explain解释
  19. 日文输入常见问题解决
  20. [Transformer]On the Relationship between Self-Attention and Convolutional Layers

热门文章

  1. linux内存水印,Linux图片批量加水印
  2. linux 各网卡作用(docker0、eth0、lo、rndis0、usb0、dummy0、l4tbr0)
  3. 电商 静态页面(详细讲解)
  4. 微信开发-发放普通红包(java代码实例)
  5. 2020学Java还吃香吗?Java行业现在饱和了吗?
  6. apicloud一键复制教程
  7. braintree php,magento2 Braintree payment如何使用?
  8. P2构型并联混合动力汽车Cruise整车仿真模型 基于Cruise平台搭建整车部件等动力学模型,基于MATLAB/Simulink平台完成整车控制策略的建模
  9. html 页面飘花,HTML5开发实例-ThreeJs实现粒子动画飘花效果代码分享
  10. 2023计算机毕业设计SSM最新选题之java健身房管理系统nc55o