Codeforces Round 829 (Div. 1)
D
The Beach
Codeforces
2400
原题
← CE →
翻译中…

Andrew loves the sea. That's why, at the height of the summer season, he decided to go to the beach, taking a sunbed with him to sunbathe.

翻译中…

The beach is a rectangular field with $n$ rows and $m$ columns. Some cells of the beach are free, some have roads, stones, shops and other non-movable objects. Some of two adjacent along the side cells can have sunbeds located either horizontally or vertically.

翻译中…

Andrew hopes to put his sunbed somewhere, but that's a bad luck, there may no longer be free places for him! That's why Andrew asked you to help him to find a free place for his sunbed. Andrew's sunbed also should be places on two adjacent cells.

翻译中…

If there are no two adjacent free cells, then in order to free some place for a sunbed, you will have to disturb other tourists. You can do the following actions:

翻译中…
  • Come to some sunbed and, after causing $p$ units of discomfort to its owner, lift the sunbed by one of its sides and rotate it by $90$ degrees. One half of the sunbed must remain in the same cell and another half of the sunbed must move to the free cell. At the same time, anything could be on the way of a sunbed during the rotation . imageimageimage Rotation of the sunbed by $90$ degrees around cell $(1, 2)$.
  • Come to some sunbed and, after causing $q$ units of discomfort to its owner, shift the sunbed along its long side by one cell. One half of the sunbed must move to the place of another, and another — to the free cell. imageimageimage Shift of the sunbed by one cell to the right.
翻译中…

In any moment each sunbed occupies two adjacent free cells. You cannot move more than one sunbed at a time.

翻译中…

Help Andrew to free a space for his sunbed, causing the minimum possible number of units of discomfort to other tourists, or detect that it is impossible.

翻译中…

Input

翻译中…

The first line contains two integers $n$ and $m$ ($1 \le n, m \le 300\,000$, $1 \le n \cdot m \le 300\,000$) — the number of rows and columns in rectangle.

翻译中…

The second line contains two integers $p$ and $q$ ($1 \le p, q \le 10^9$) — the number of units of discomfort caused by rotation and shift of a sunbed, respectively.

翻译中…

Each of the following $n$ lines contains $m$ characters, describing cells of the rectangle. Each lines consists of characters "L", "R", "D", "U", "." and "#", denoting the type of the cell. Characters "L", "R", "D" and "U" denote a half of a sunbed placed in the cell — left, right, bottom and top half, respectively. Character "." denotes a free cell and character "#" — a cell, occupied by some non-movable object.

翻译中…

Output

翻译中…

Print one integer — the minimum possible number of units of discomfort, caused to other tourists, to free a space for a sunbed. If it is impossible to free a space for a sunbed, print $-1$.

翻译中…

Note

翻译中…

In the first example we can shift upper sunbed to the left and lower sunbed — to the right. Andrew will be able to put his sunbed vertically in the middle of the beach. We well cause $2 + 2 = 4$ units of discomfort. It is easy to prove that it is an optimal answer.

翻译中…

imageimageimage Optimal strategy in the first example (Andrew's sunbed is colored white).

翻译中…

In the second example it is impossible to free a space for Andrew's sunbed. All possible states of the beach after any rotates and shifts are illustrated in the problem statement.

翻译中…

样例

Input #1
2 5
5 2
.LR##
##LR.
Output #1
4
InputCopy OutputCopy
Input #2
2 3
4 5
LR.
#.#
Output #2
-1
InputCopy OutputCopy
Input #3
4 3
10 10
.LR
###
UU#
DD.
Output #3
-1
InputCopy OutputCopy
Input #4
3 6
10 7
.U##.#
#DLR##
.##LR.
Output #4
24
InputCopy OutputCopy
题目信息
题号
1753D
时间限制
1 s
内存限制
256 MB
标签
构造
DFS 及类似
图论
最短路

题面与样例版权归 Codeforces 及出题人所有;中文翻译由 AI 生成(CI 管线),如有出入请以原文为准。