АВТ
Language:

Remote Training on Programming

Problems On-line status Contests FAQ
For authors:
Register  ||  Login
 
Hello, Guest! Login or register.

839. Military Labirinth

Time Limit: 1 seconds
Memory Limit:65535KB
Points:10
View Problem Statistics Submit Problem added Administrator

Лабиринт представляет собой клетчатый прямоугольник MxN, в котором некоторые клетки пустые, среди этих пустых клеток K клеток имеют под собой бомбоубежище, а остальные представляют из себя монолитные бетонные блоки.

Военное руководство решило взорвать этот лабиринт "к чертовой матери"1. Для этого в лабиринте находятся K солдат, которые должны активировать взрывной механизм. После того, как механизм активирован, солдаты должны укрыться в бомбоубежищах. К сожалению, в каждом бомбоубежище может укрыться только один солдат.

Посчитайте минимальное время от момента активации взрывного механизма до момента взрыва, которое необходимо, чтобы все солдаты укрылись в бомбоубежищах. Солдат тратит 1 секунду на то, чтобы из клетки, где он находится, перейти в соседнюю с ней по горизонтали или вертикали и еще 3 секунды на то, чтобы спуститься из клетки в бомбоубежище, которое под ней находится. Выходить из лабиринта солдатам запрещено.

1"К чертовой матери" - сверхсекретный военный термин.

 

input:

Во входном файле записаны числа M и N (1 ≤ M,N ≤ 100), задающие размеры лабиринта, а затем N строк по M чисел в каждой, задающие лабиринт. 0 обозначает пустую клетку, 1 - монолитный бетонный блок, 2 - пустую клетку с бомбоубежищем под ней. Клеток с цифрой "2" будет ровно K штук (1 ≤ K ≤ 100). Затем идет K пар чисел, задающих начальные координаты солдат. Левый верхний угол лабиринта имеет координаты (1,1), левый нижний- (1,N), правый нижний - (M,N).

 

output:

В выходной файл выведите одно число T - минимальное число секунд, через которое можно взрывать бомбу. Затем для каждой секунды (с первой по T-ую), в отдельной строке записать передвижения, которые в эту секунду происходят. Действия задаются номером солдата, и его перемещением, которые записываются через пробел. Перемещение задается одним из символов N - вверх, S - вниз, E - направо, W - налево, D - спускается в убежище. Действия, происходящие в одно и то же время, отделяются друг от друга пробелом.

Если всем солдатам спрятаться не удастся, выведите 0.

 

sample input #1:

10 5

0 0 1 2 1 0 0 0 0 0

0 0 1 2 1 0 0 0 0 0

0 0 1 1 1 0 0 0 0 0

0 0 2 2 0 0 0 0 0 0

0 0 0 0 0 0 0 0 0 0

4 1

5 4

4 1

6 3

sample output #1:

6
1 D 2 W 4 S
1 D 3 S 2 W 4 W
1 D 2 D 3 D 4 W
4 D
4 D 2 D 3 D
2 D 3 D 4 D

 

sample input #2:

10 5
0 0 1 2 1 0 0 0 0 0
0 0 1 2 1 0 0 0 0 0
0 0 1 1 1 0 0 0 0 0
0 0 0 2 2 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0
4 1
5 4
4 1
4 1

 

sample output #2:

0

 

 


View Problem Statistics Submit Author/source:
Problems from Contests / Trainings of Vologda STU / Training 25.09.2009 /
837. Alien Stone 839. 838. Roads for Students
We can all benefit by doing occasional "toy" programs, when artificial restrictions are set up, so that we are forced to push our abilities to the limit. The art of tackling miniproblems with all our energy will sharpen our talents for the real problems. Donald E. Knuth.
time generating 0.062 sec.
© Copyright VSTU, AVT, Nosov D.A.