Logo
(追記) (追記ここまで)

20521번 - Экспериментальная робототехника 서브태스크스페셜 저지다국어

시간 제한메모리 제한제출정답맞힌 사람정답 비율
2 초 512 MB39121131.429%

문제

Университеты Татарстана являются ведущими центрами по образовательной робототехнике. Для популяризации этого направления школьникам было предложено провести эксперимент по выживанию роботов в ограниченном пространстве.

Эксперимент проходит на прямоугольном поле размером $n \times m$ клеток. В начале эксперимента в заданных клетках размещается по одному неактивированному роботу. По команде <<Старт>> запускается таймер, который подаёт сигнал в начале каждой секунды. После каждого сигнала таймера, но не позднее чем через $T_{max} = 10^9$ секунд после команды <<Старт>>, разрешается активировать некоторых роботов.

Каждая клетка поля закрашена в один из четырёх цветов, распознаваемых сенсором робота. Цвет обозначает направление движения из данной клетки в соседнюю: на север, юг, восток или запад. В момент сигнала таймера каждый активированный робот перемещается в соседнюю клетку в направлении, соответствующем цвету клетки, в которой он находится. Все активированные роботы перемещаются одновременно. Цвета клеток поля выбраны так, что при перемещении никакой робот не может выйти за пределы поля.

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

Эксперимент считается завершённым успешно, если все активированные роботы могут продолжать движение без столкновений по полю сколь угодно долго. Результатом эксперимента является количество активированных роботов.

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

입력

В первой строке входных данных записаны целые числа $n,ドル $m$ и $g,ドル где $n$ и $m$ --- размеры поля с севера на юг и с запада на восток соответственно (1ドル \le n, m \le 1000$), а $g$ --- признак, равный 1ドル$ или 0ドル,ドル обозначающий необходимость определения клеток и моментов времени для активации роботов.

Последующие $n$ строк по $m$ символов в каждой описывают цвета клеток поля и разрешение на активацию робота в них. Цвет поля задаётся английской буквой, соответствующей направлению движения: <<N>> или <<n>> --- север, <<S>> или <<s>> --- юг, <<E>> или <<e>> --- восток и <<W>> или <<w>> --- запад.

Клетки, в которых исходно размещены неактивированные роботы, обозначены заглавными буквами, а клетки, в которых исходно робота нет --- строчными.

출력

В первой строке выходных данных выведите одно число $k$ --- максимально возможный результат эксперимента. Для входных данных, в которых значение $g$ равно 1, в каждой из последующих $k$ строк выведите три целых числа $r,ドル $c$ и $t$: номера строки и столбца, описывающие клетку для активации робота, и момент времени для его активации соответственно (1ドル \leq r \leq n$; 1ドル \leq c \leq m$; 1ドル \leq t \leq 10^9$). Строки нумеруются от 1 до $n$ сверху вниз (с севера на юг), а столбцы --- от 1 до $m$ слева направо (с запада на восток).

Если стратегий активации роботов, приводящих к максимальному результату несколько, то выведите любую из них.

제한

서브태스크

번호배점제한
111

1ドル \leq n, m \le 10,ドル $g = 0,ドル в каждой клетке исходно находится робот

213

1ドル \leq n, m \le 100,ドル $g = 0,ドル в каждой клетке исходно находится робот

313

1ドル \leq n, m \le 100,ドル $g = 0$

423

1ドル \leq n, m \le 100,ドル $g = 1$

517

1ドル \leq n, m \le 1000,ドル $g = 0$

623

1ドル \leq n, m \le 1000,ドル $g = 1$

예제 입력 1

3 4 0
SSSS
EESW
ENWW

예제 출력 1

4

예제 입력 2

3 4 1
SSSS
EeSW
ENwW

예제 출력 2

4
2 3 2
3 2 1
3 4 1
2 1 2

예제 입력 3

4 4 1
essS
Eess
Snww
EeWN

예제 출력 3

5
1 4 9
2 1 4
4 3 3
4 1 2
4 4 7

힌트

В первом примере можно активировать любых четырёх роботов, выбрав для этого подходящие моменты времени. Например, роботы, находящиеся в клетках (1, 1) и (3, 1) не могут быть активированы одновременно. Указывать, какие именно роботы должны быть активированы и в какие моменты в времени, в данном тесте не требуется.

Во втором примере приведённый ответ не является единственным.

В третьем примере активированные в клетках (4, 1) и (4, 3) роботы могут перемещаться между клетками (4, 2) и (4, 3) сколько угодно раз, не сталкиваясь при этом.

출처

Olympiad > Russian Olympiad in Informatics > Russian Olympiad in Informatics 2016 2번

채점 및 기타 정보

  • 예제는 채점하지 않는다.
(追記) (追記ここまで)

출처

대학교 대회

  • 사업자 등록 번호: 541-88-00682
  • 대표자명: 최백준
  • 주소: 서울시 서초구 서초대로74길 29 서초파라곤 412호
  • 전화번호: 02-521-0487 (이메일로 연락 주세요)
  • 이메일: contacts@startlink.io
  • 통신판매신고번호: 제 2017-서울서초-2193 호

AltStyle によって変換されたページ (->オリジナル) /