CF1423D.Does anyone else hate the wind?
普及/提高-
通过率:0%
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
Mark and his crew are sailing across the sea of Aeolus (in Greek mythology Aeolus was the keeper of the winds). They have the map which represents the N x M matrix with land and sea fields and they want to get to the port (the port is considered as sea field). They are in a hurry because the wind there is very strong and changeable and they have the food for only K days on the sea (that is the maximum that they can carry on the ship). John, the guy from Mark's crew, knows how to predict the direction of the wind on daily basis for W days which is enough time for them to reach the port or to run out of the food. Mark can move the ship in four directions (north, east, south, west) by one field for one day, but he can also stay in the same place. Wind can blow in four directions (north, east, south, west) or just not blow that day. The wind is so strong at the sea of Aeolus that it moves the ship for one whole field in the direction which it blows at. The ship's resulting movement is the sum of the ship's action and wind from that day. Mark must be careful in order to keep the ship on the sea, the resulting movement must end on the sea field and there must be a 4-connected path through the sea from the starting field. A 4-connected path is a path where you can go from one cell to another only if they share a side.
For example in the following image, the ship can't move to the port as there is no 4-connected path through the sea.
In the next image, the ship can move to the port as there is a 4-connected path through the sea as shown with the red arrow. Furthermore, the ship can move to the port in one move if one of the following happens. Wind is blowing east and Mark moves the ship north, or wind is blowing north and Mark moves the ship east. In either of these scenarios the ship will end up in the port in one move.
Mark must also keep the ship on the map because he doesn't know what is outside. Lucky for Mark and his crew, there are T fish shops at the sea where they can replenish their food supplies to the maximum, but each shop is working on only one day. That means that Mark and his crew must be at the shop's position on the exact working day in order to replenish their food supplies. Help Mark to find the minimum of days that he and his crew need to reach the port or print −1 if that is impossible with the food supplies that they have.
输入格式
First line contains two integer numbers N and M ( 1≤N,M≤200 ) - representing the number of rows and number of columns of the map.
Second line contains three integers, K ( 0≤K≤200 ) which is the number of days with the available food supplies, T ( 0≤T≤20 ) which is the number of fields with additional food supplies and W ( 0≤W≤106 ) which is the number of days with wind information.
Next is the N x M char matrix filled with the values of 'L', 'S', 'P' or 'M'. 'L' is for the land and 'S' is for the sea parts. 'P' is for the port field and 'M' is the starting field for the ship.
Next line contains W chars with the wind direction information for every day. The possible inputs are 'N' - north, 'S' - south, 'E' - east, 'W' - west and 'C' - no wind. If Mark's crew can reach the port, it is guaranteed that they will not need more than W days to reach it.
In the end there are T lines with the food supplies positions. Each line contains three integers, Yi and Xi ( 0≤Yi<N,0≤Xi<M ) representing the coordinates (Y is row number and X is column number) of the food supply and Fi ( 0≤Fi≤106 ) representing the number of days from the starting day on which the food supply is available.
输出格式
One integer number representing the minimal days to reach the port or −1 if that is impossible.
输入输出样例
输入#1
3 3 5 2 15 M S S S S S S S P S W N N N N N N N N N N N N N 2 1 0 1 2 0
输出#1
-1
输入#2
3 3 5 2 15 M S S S S S S S P S E N N N N N N N N N N N N N 2 1 0 1 2 0
输出#2
2
输入#3
5 5 4 1 15 M S S S S S S S S L S S S L L S S S S S S S S S P C C C C S S E E C C C C C C C 0 1 4
输出#3
8