Poj OpenJudge 百练 2632 Crashing Robots
1.Link:
http://poj.org/problem?id=2632
http://bailian.openjudge.cn/practice/2632/
2.Content:
Crashing Robots
Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 7912 Accepted: 3441 Description
In a modernized warehouse, robots are used to fetch the goods. Careful planning is needed to ensure that the robots reach their destinations without crashing into each other. Of course, all warehouses are rectangular, and all robots occupy a circular floor space with a diameter of 1 meter. Assume there are N robots, numbered from 1 through N. You will get to know the position and orientation of each robot, and all the instructions, which are carefully (and mindlessly) followed by the robots. Instructions are processed in the order they come. No two robots move simultaneously; a robot always completes its move before the next one starts moving.
A robot crashes with a wall if it attempts to move outside the area of the warehouse, and two robots crash with each other if they ever try to occupy the same spot.Input
The first line of input is K, the number of test cases. Each test case starts with one line consisting of two integers, 1 <= A, B <= 100, giving the size of the warehouse in meters. A is the length in the EW-direction, and B in the NS-direction.
The second line contains two integers, 1 <= N, M <= 100, denoting the numbers of robots and instructions respectively.
Then follow N lines with two integers, 1 <= Xi <= A, 1 <= Yi <= B and one letter (N, S, E or W), giving the starting position and direction of each robot, in order from 1 through N. No two robots start at the same position.![]()
Figure 1: The starting positions of the robots in the sample warehouse
Finally there are M lines, giving the instructions in sequential order.
An instruction has the following format:
< robot #> < action> < repeat>
Where is one of
- L: turn left 90 degrees,
- R: turn right 90 degrees, or
- F: move forward one meter,
and 1 <= < repeat> <= 100 is the number of times the robot should perform this single move.
Output
Output one line for each test case:
- Robot i crashes into the wall, if robot i crashes into a wall. (A robot crashes into a wall if Xi = 0, Xi = A + 1, Yi = 0 or Yi = B + 1.)
- Robot i crashes into robot j, if robots i and j crash, and i is the moving robot.
- OK, if no crashing occurs.
Only the first crash is to be reported.
Sample Input
4
5 4
2 2
1 1 E
5 4 W
1 F 7
2 F 7
5 4
2 4
1 1 E
5 4 W
1 F 3
2 F 1
1 L 1
1 F 3
5 4
2 2
1 1 E
5 4 W
1 L 96
1 F 2
5 4
2 3
1 1 E
5 4 W
1 F 4
1 L 1
1 F 20Sample Output
Robot 1 crashes into the wall
Robot 1 crashes into robot 2
OK
Robot 1 crashes into robot 2Source
3.Method:
模拟题,特别注意方位的问题,和平常的方向有区别
另外要注意旋转方向也可以重复多次的
另外提供测试供参考,来自
http://poj.org/showmessage?message_id=130353
32
1 1
1 1
1 1 W
1 F 1
3 3
1 9
2 2 W
1 F 1
1 L 1
1 F 1
1 L 1
1 F 2
1 L 5
1 F 2
1 R 3
1 F 2
5 5
9 1
3 1 W
3 2 N
3 4 S
3 5 E
1 3 S
2 3 N
4 3 E
5 4 W
3 3 W
9 F 4
5 5
9 1
3 1 W
3 2 N
3 4 S
3 5 E
1 3 S
2 3 N
4 3 E
5 4 W
3 3 S
9 F 4
5 5
9 1
3 1 W
3 2 N
3 4 S
3 5 E
1 3 S
2 3 N
4 3 E
5 4 W
3 3 N
9 F 4
5 5
9 1
3 1 W
3 2 N
3 4 S
3 5 E
1 3 S
2 3 N
4 3 E
5 4 W
3 3 E
9 F 4
5 5
2 3
3 3 E
4 5 N
2 L 3
2 R 8
2 F 3
46 46
9 100
39 25 E
15 14 N
15 22 N
27 25 S
25 40 S
19 36 W
27 6 W
22 45 W
28 15 W
5 F 13
3 R 2
8 F 9
5 L 4
6 F 7
3 F 12
9 F 5
6 L 2
3 L 2
3 F 13
2 L 2
4 F 12
9 L 2
9 F 2
5 F 1
3 F 3
9 L 2
3 L 5
3 L 21
3 F 6
4 R 2
4 F 1
6 F 13
9 R 2
9 R 29
6 L 2
2 L 9
2 F 13
4 L 2
1 F 14
5 F 1
6 F 1
8 L 2
6 F 1
3 R 13
4 F 4
3 F 6
6 F 4
2 L 2
5 F 1
9 R 14
3 R 2
6 R 2
9 L 12
3 F 3
7 F 1
9 L 2
6 F 5
6 F 12
4 F 5
3 R 2
6 R 29
6 F 10
9 F 1
2 F 5
9 F 10
4 F 4
4 R 31
9 L 8
3 L 2
4 R 27
3 F 4
1 F 1
1 R 3
5 L 10
6 R 17
7 F 15
8 F 8
9 F 7
6 F 11
8 L 3
2 F 3
1 L 2
3 L 3
4 R 2
7 L 11
1 L 30
8 L 13
9 F 11
2 L 2
8 R 2
3 R 2
3 R 2
8 L 2
4 L 2
2 F 8
8 F 14
6 R 6
9 F 13
2 F 11
5 F 7
1 F 14
1 R 7
9 L 28
3 L 4
6 F 14
7 F 5
2 R 29
5 F 1
8 L 4
16 27
6 100
12 13 W
9 3 W
10 3 E
6 7 W
7 11 W
3 1 W
5 F 4
5 L 14
6 F 1
6 F 1
3 L 19
5 F 3
4 L 29
4 R 3
4 L 2
1 L 2
5 R 2
4 F 6
4 F 4
6 L 9
5 L 2
3 R 2
5 F 1
5 F 1
5 F 3
1 L 2
3 R 2
6 R 2
1 L 26
3 R 2
5 L 2
5 L 11
5 F 6
3 R 2
2 F 1
3 F 3
5 L 10
3 F 1
2 F 3
4 R 2
6 F 6
2 F 1
6 F 1
2 R 2
1 L 2
1 R 2
4 R 5
4 R 2
4 F 4
6 L 12
3 L 2
3 F 1
4 L 15
4 L 4
3 F 4
6 F 4
2 R 2
4 F 4
3 L 2
5 L 2
2 R 2
6 F 1
3 F 1
2 F 2
6 R 2
5 R 23
5 L 14
3 R 1
6 L 2
3 F 6
6 R 6
4 F 1
6 L 2
2 F 6
1 L 24
5 F 3
1 R 21
4 L 2
1 R 2
5 F 6
2 R 20
5 L 9
6 F 2
3 F 2
5 F 2
1 F 1
5 L 13
4 R 2
1 F 5
6 R 2
2 F 1
2 R 2
6 L 23
3 F 1
2 F 3
4 R 2
4 L 2
5 F 5
1 F 3
4 F 1
2 F 5
3 R 19
5 L 21
6 F 2
4 L 2
1 L 2
15 48
35 1
10 32 W
7 40 E
14 45 E
11 30 S
2 38 W
14 2 W
5 10 W
11 13 W
7 44 N
8 13 S
1 5 N
13 47 E
10 34 S
1 35 E
2 9 W
1 9 W
3 43 W
9 14 N
5 32 E
6 1 W
2 14 S
5 33 W
9 36 S
13 22 E
11 19 S
4 1 W
1 38 N
14 35 W
4 7 W
11 21 N
5 17 W
3 21 N
2 25 E
6 5 N
13 10 E
12 F 5
40 13
5 100
31 8 E
25 12 N
35 1 S
34 2 S
19 5 E
5 R 2
2 F 8
3 L 2
1 F 7
4 F 3
1 F 5
2 F 7
3 F 4
1 F 2
1 R 2
2 L 2
2 F 4
4 L 19
4 F 3
2 R 2
5 L 23
5 R 8
1 R 28
3 F 5
4 R 18
1 F 3
2 F 6
2 F 1
2 R 2
4 R 2
4 R 31
4 L 11
3 R 2
5 F 3
1 F 1
1 R 2
5 F 4
4 F 4
2 L 28
5 L 4
1 F 4
4 F 1
3 F 6
2 R 2
2 F 6
1 F 5
5 F 8
5 R 2
3 L 2
1 F 1
1 F 1
4 F 1
2 F 1
1 R 21
1 L 2
5 F 5
2 F 8
4 F 1
2 L 6
2 L 2
2 L 2
5 R 8
2 F 7
4 L 2
3 F 6
5 F 1
3 R 2
3 F 8
1 F 1
5 R 15
3 L 17
3 F 4
3 R 4
5 L 2
2 F 8
5 L 1
2 L 2
1 F 4
1 L 31
3 F 3
3 F 1
1 F 4
1 F 3
4 L 2
3 F 1
3 L 2
4 F 5
4 F 3
2 R 2
3 F 2
5 R 2
1 R 19
5 F 2
2 L 2
2 F 7
1 L 21
3 F 1
5 F 7
2 R 3
2 F 4
1 F 7
2 R 5
2 F 4
5 L 25
2 F 2
49 7
15 11
43 5 N
23 2 S
30 1 N
24 5 E
13 6 E
29 4 S
5 3 S
15 3 N
28 5 E
29 6 E
10 3 W
7 6 N
6 5 N
13 2 S
10 5 W
5 F 4
3 R 22
11 R 13
5 L 2
6 F 1
9 F 1
3 F 8
15 F 2
3 F 1
11 L 2
6 R 2
4 41
2 100
1 37 S
2 10 W
1 R 2
2 F 3
1 R 2
1 F 2
2 R 2
1 F 3
2 R 2
1 F 1
2 L 23
2 L 13
2 R 30
1 F 1
1 L 2
2 F 4
1 R 28
2 R 18
1 F 1
1 F 6
2 F 6
2 F 6
1 L 2
1 F 3
1 R 2
2 F 6
2 L 26
2 L 2
1 R 19
2 L 2
2 F 1
2 R 30
2 F 1
2 F 1
2 F 1
2 L 19
2 R 2
2 F 2
1 F 3
1 L 21
2 F 6
1 L 15
2 R 30
1 F 1
1 L 26
1 L 2
2 F 6
2 L 1
1 F 7
2 L 17
1 F 1
1 L 21
1 F 6
2 L 26
1 F 2
1 F 7
2 L 2
2 R 20
2 R 27
2 F 3
1 F 6
1 L 6
2 R 9
1 F 6
1 L 2
1 F 1
2 F 4
2 R 2
2 L 2
2 R 2
1 F 3
2 R 2
1 R 2
1 R 5
1 F 4
2 L 14
1 F 1
2 R 24
1 R 2
2 L 13
2 F 2
2 F 4
1 F 4
1 R 9
2 F 4
2 L 29
2 F 5
1 F 3
2 F 4
1 R 7
2 R 2
1 L 2
1 R 25
1 R 20
2 L 25
1 R 28
1 R 2
1 F 6
1 L 2
1 F 4
1 R 20
2 L 15
3 20
2 1
2 14 N
2 13 W
2 F 2
42 27
19 1
19 25 E
24 20 S
14 3 E
41 3 N
3 18 W
30 2 E
8 24 N
35 13 E
20 7 S
32 23 E
29 1 W
1 14 E
39 7 E
1 12 E
10 4 E
19 18 W
28 6 E
29 21 W
7 13 W
12 F 1
29 44
52 10
28 29 E
25 31 S
22 31 N
5 2 E
16 28 E
19 2 W
5 4 S
22 38 S
6 37 E
2 25 N
17 19 N
4 6 S
8 25 N
13 22 N
4 11 N
5 39 S
18 34 S
17 1 W
11 17 N
14 34 W
13 31 W
26 1 S
12 38 E
14 21 W
2 2 S
23 20 S
24 14 S
5 29 E
2 10 W
26 24 W
24 34 N
17 38 E
17 29 N
20 26 S
10 7 N
19 8 N
27 7 W
5 5 W
4 39 S
27 32 S
25 12 S
28 25 S
18 31 W
15 41 S
20 20 E
6 22 W
9 12 W
24 2 E
19 32 N
23 34 S
17 11 W
6 4 S
46 L 2
43 F 4
47 F 2
33 F 5
36 L 11
3 L 2
45 L 2
40 F 5
33 F 10
45 F 6
27 37
46 100
20 22 S
26 3 N
22 28 S
17 16 W
15 18 N
11 17 S
7 15 W
17 2 E
7 16 W
13 14 S
11 27 N
21 23 S
11 12 E
22 11 S
19 11 E
22 1 S
8 16 S
21 18 S
2 20 W
16 6 S
5 22 N
3 15 S
2 29 W
14 23 S
19 9 W
12 30 N
3 28 N
23 33 S
25 24 N
6 4 S
12 6 N
1 14 N
24 1 E
8 21 W
23 22 W
10 21 N
17 31 S
7 11 S
13 7 E
6 27 S
3 6 W
12 35 E
23 16 E
5 29 W
20 23 S
1 22 E
3 L 2
25 R 25
33 R 5
24 F 9
25 F 2
15 F 2
46 L 4
46 L 13
45 L 14
26 F 4
4 F 5
42 F 1
39 R 3
24 L 2
6 F 2
46 F 5
12 F 8
6 F 3
9 F 5
36 F 5
38 R 2
35 L 30
38 F 7
2 R 6
46 L 3
21 R 2
44 F 1
36 F 2
23 F 1
40 R 30
11 F 3
20 L 6
10 F 6
10 R 20
11 F 1
35 L 29
27 F 8
3 L 24
14 L 6
32 F 10
40 F 8
26 R 3
12 F 5
10 L 19
10 L 2
36 R 2
27 F 1
21 L 2
39 F 1
17 F 7
46 L 25
2 L 13
5 R 2
2 R 18
22 F 9
45 L 18
16 F 6
5 F 9
34 F 1
5 L 2
21 F 6
36 L 26
41 F 6
2 F 1
5 F 8
38 F 5
35 F 9
15 R 2
31 F 2
37 L 2
44 F 2
46 F 1
40 F 1
42 F 4
12 F 9
22 F 2
7 R 2
9 R 24
17 F 6
15 R 2
34 F 5
46 F 6
29 R 2
9 F 10
34 R 11
15 L 10
16 F 7
8 R 22
1 F 8
38 F 3
41 F 5
22 L 7
45 R 2
2 F 5
20 F 3
24 L 1
32 L 2
43 F 6
38 F 2
32 F 6
46 5
2 8
33 1 E
12 1 W
1 F 2
2 L 21
1 R 2
2 F 1
2 F 2
2 L 2
1 L 2
1 R 2
33 3
3 70
21 2 E
26 2 N
16 2 N
3 F 4
2 L 16
3 L 15
2 R 2
1 L 2
1 L 16
1 R 19
1 R 2
1 F 3
1 F 2
1 R 2
3 F 4
1 F 1
1 R 2
3 F 1
1 F 2
2 R 2
2 F 2
2 F 2
1 L 2
3 F 1
2 F 2
3 L 30
3 L 2
1 L 24
1 R 12
3 L 31
3 L 2
3 F 5
1 F 2
3 L 2
3 F 1
2 L 20
1 F 2
1 L 19
2 L 2
1 R 2
2 F 2
1 F 5
1 L 28
1 R 1
2 L 2
1 L 2
3 R 2
3 L 17
3 L 2
1 R 25
2 R 19
3 F 1
3 F 2
1 R 21
1 L 2
2 F 1
2 R 14
3 F 4
1 F 3
1 R 13
1 R 2
1 F 1
2 L 2
1 F 1
1 L 2
2 F 5
2 L 9
3 F 1
1 F 3
1 F 1
3 F 1
2 L 5
2 F 2
46 3
4 14
34 1 E
28 2 S
34 2 W
23 1 E
3 F 2
1 F 4
1 L 2
4 F 6
3 F 4
2 F 6
4 F 5
4 F 5
3 F 6
2 F 5
4 F 2
3 F 6
4 L 29
1 L 2
22 18
7 43
1 5 W
17 11 S
1 14 W
7 13 N
6 1 E
15 9 W
18 1 S
1 F 5
4 F 1
6 F 1
7 F 4
3 F 2
4 F 1
3 L 3
4 L 2
1 F 1
4 F 2
7 L 2
2 R 10
1 F 2
7 F 4
4 F 4
3 R 9
3 R 17
5 F 6
4 R 2
2 F 6
5 F 1
1 F 1
1 F 5
5 R 2
1 F 3
7 R 2
7 R 2
6 F 5
5 F 1
5 L 2
2 R 2
5 F 5
7 L 28
7 R 2
7 L 2
2 F 1
4 F 5
2 F 6
7 R 2
1 F 1
1 R 2
5 F 4
7 F 4
33 26
40 100
9 16 E
1 14 N
13 23 W
3 6 W
6 20 S
4 21 E
12 25 E
5 23 S
24 4 W
20 3 E
17 7 N
8 22 S
6 12 W
1 16 N
32 22 E
15 1 E
4 14 S
17 19 S
1 4 W
26 9 E
24 24 E
14 10 E
1 17 S
10 20 N
31 8 N
15 5 E
24 20 E
27 13 E
9 7 N
30 20 W
21 4 S
27 5 N
26 15 W
32 7 E
18 21 W
21 19 N
6 18 W
9 4 W
13 1 E
2 8 S
36 R 2
39 F 1
3 F 5
35 L 2
30 F 9
29 L 2
3 L 2
26 F 5
14 L 10
24 F 9
9 L 24
17 F 5
23 F 2
23 F 4
34 F 2
18 F 4
15 F 1
17 F 7
39 L 6
32 F 1
7 F 6
38 R 2
19 L 6
2 R 2
5 F 1
10 F 5
4 L 2
38 F 3
2 F 8
37 R 2
6 L 13
5 F 2
13 F 5
1 F 9
33 F 6
20 F 3
12 F 1
21 L 27
22 F 9
21 F 3
32 L 16
28 F 1
29 L 7
15 F 1
12 F 8
23 F 8
33 F 5
9 F 4
14 R 11
38 F 7
16 L 2
18 R 4
27 F 7
40 R 8
23 F 1
11 L 31
39 F 6
24 F 4
23 F 1
12 F 7
19 F 6
14 F 5
7 L 2
27 R 2
11 F 9
27 L 4
38 F 7
4 L 8
29 F 2
29 L 31
33 F 4
33 F 9
7 F 7
11 F 6
14 F 1
25 F 9
6 R 5
8 R 2
32 R 2
34 R 2
19 L 20
27 L 5
16 R 28
18 F 9
20 F 3
21 L 2
39 F 4
31 F 3
16 F 2
19 R 2
31 F 4
38 F 1
28 R 2
33 F 1
8 F 5
37 R 18
8 L 8
15 R 2
22 F 8
2 R 2
14 26
2 1
13 24 W
4 13 E
1 L 2
30 35
11 100
10 8 S
19 3 E
22 7 N
17 32 E
19 4 N
8 4 E
26 23 S
11 14 N
21 30 N
8 1 S
21 3 S
1 R 28
2 F 2
10 F 7
6 R 2
8 F 2
4 F 6
4 R 2
4 F 1
1 F 10
1 L 2
6 F 7
10 R 27
3 L 2
7 F 2
5 F 1
8 F 1
1 R 2
1 L 2
11 F 8
3 F 2
7 R 2
10 R 2
4 L 30
3 F 1
3 F 5
10 F 5
6 R 2
4 F 1
6 L 27
4 F 7
8 R 17
9 F 10
1 L 20
1 F 6
4 F 1
11 R 26
3 F 2
1 F 6
4 F 1
10 F 1
8 F 1
8 R 13
7 F 2
1 F 2
8 L 24
5 F 8
11 F 1
6 F 1
11 R 2
3 R 2
3 F 6
3 R 11
5 F 8
10 F 6
11 L 2
11 L 2
4 F 9
4 R 23
5 F 6
1 R 2
10 F 8
1 L 2
4 L 31
7 L 2
5 F 3
4 F 7
2 L 6
4 R 1
10 R 24
8 F 10
2 R 12
7 F 4
4 L 2
1 F 1
8 F 1
5 L 24
1 L 2
3 F 1
4 L 14
10 L 2
11 F 3
3 F 1
2 L 2
5 F 2
4 R 2
11 F 3
11 F 6
8 F 9
5 L 2
6 F 9
10 F 8
2 F 1
1 F 7
1 L 20
8 F 6
1 R 2
3 F 3
11 R 2
1 R 16
3 F 9
19 8
2 2
14 1 W
12 7 E
2 F 4
2 F 1
27 32
2 6
21 23 E
10 16 E
2 F 1
2 F 3
1 F 4
2 F 6
1 L 15
1 F 7
24 39
29 1
22 22 W
5 5 N
6 1 S
8 29 N
12 30 N
14 34 S
4 21 E
3 28 N
15 9 E
1 12 E
20 1 W
15 27 N
23 1 N
20 36 E
19 1 S
2 32 N
9 5 N
4 37 S
17 6 N
11 23 S
18 36 N
9 11 N
12 35 W
12 21 S
1 5 W
5 17 E
4 3 E
17 9 E
5 19 W
12 L 4
90 24
100 21
24 24 N
13 7 S
65 22 S
57 20 N
62 8 W
34 21 S
70 23 W
58 19 W
26 17 S
23 4 E
56 12 N
21 18 S
23 21 S
24 19 S
36 11 S
25 5 N
9 17 N
36 1 E
21 17 E
71 11 E
89 20 W
75 15 E
84 12 S
80 8 W
46 16 E
6 9 N
89 9 W
14 20 E
31 1 W
66 13 E
2 6 W
69 24 W
78 15 E
5 4 N
11 11 N
16 15 E
50 10 S
2 19 W
88 11 N
46 4 W
23 3 S
42 18 S
84 14 E
10 5 N
25 7 W
4 24 E
23 6 E
44 2 E
43 19 E
46 20 E
48 11 E
37 22 N
35 1 W
57 8 W
56 6 W
24 5 W
12 16 W
72 6 W
62 6 W
83 4 N
38 12 S
59 7 S
87 2 N
56 8 S
78 8 S
90 18 N
13 17 S
62 11 S
81 17 W
65 2 S
90 11 W
82 17 E
78 7 S
79 23 W
57 18 W
64 23 E
49 14 S
58 18 S
53 9 N
5 3 S
81 18 N
38 5 S
59 1 E
56 21 S
9 6 S
61 24 W
25 10 S
19 21 E
57 13 N
37 7 E
35 18 N
83 7 N
30 10 N
86 3 W
29 6 N
5 6 S
5 14 W
42 8 S
50 1 N
30 6 S
38 R 9
49 F 5
35 L 17
18 R 25
1 R 2
72 R 19
3 L 2
42 R 2
43 R 2
61 F 10
23 F 7
96 L 31
49 F 3
58 F 18
54 F 9
43 F 15
61 R 2
84 F 8
16 F 1
6 R 2
95 R 2
98 27
100 100
22 27 N
57 13 E
46 16 E
73 27 S
42 14 E
26 17 W
69 22 E
28 3 N
11 19 E
21 3 W
58 8 E
6 20 N
19 7 E
25 15 E
63 26 S
96 27 N
38 9 N
10 19 W
67 12 N
73 24 E
38 15 W
14 21 E
22 10 E
48 3 S
22 13 N
7 12 W
85 12 W
29 13 E
64 23 E
6 23 E
77 3 W
53 18 E
45 26 N
9 22 W
77 7 S
7 21 W
65 19 N
62 22 W
31 25 W
72 20 S
34 5 E
8 26 E
98 10 S
74 4 N
29 17 W
48 5 E
42 26 S
13 21 S
83 16 N
56 21 W
87 11 S
65 13 W
8 5 W
68 8 W
62 7 E
50 23 N
61 24 S
48 4 N
62 24 E
79 1 W
64 7 N
63 6 N
16 14 E
76 8 N
29 18 N
16 12 E
5 19 W
77 11 N
44 25 S
36 21 W
85 25 W
16 11 N
71 9 S
27 13 S
43 9 W
87 3 N
11 5 N
49 8 W
82 6 E
36 3 N
38 14 S
41 25 S
72 2 W
98 6 E
16 4 E
31 21 W
78 8 W
75 21 N
4 21 W
48 14 W
62 13 N
27 11 W
79 21 S
45 13 E
31 15 S
26 14 E
31 9 W
10 2 N
38 27 W
57 7 S
19 L 29
42 F 1
56 R 2
44 F 1
90 R 19
53 R 6
52 R 2
16 R 30
34 R 28
78 F 6
1 F 4
12 F 2
41 R 2
24 L 2
71 F 17
10 F 12
52 L 2
83 F 10
37 F 14
49 L 27
25 F 16
71 F 5
44 L 2
50 R 26
94 F 3
15 F 1
73 F 11
34 F 3
91 L 26
19 L 2
25 L 2
46 R 2
84 L 18
3 F 12
44 L 2
11 F 8
48 L 2
73 L 30
74 L 2
19 L 2
54 R 23
9 F 6
49 F 11
78 L 2
56 R 2
36 R 19
57 F 6
2 F 5
88 L 29
33 L 27
37 R 2
88 F 16
61 F 18
53 R 2
13 R 8
100 L 28
20 L 2
49 F 13
48 F 10
4 L 15
45 F 1
1 F 7
68 L 2
30 L 6
80 R 10
44 F 1
73 F 16
82 L 2
62 L 2
94 L 10
4 F 5
86 F 18
43 L 9
99 F 4
97 F 7
100 L 2
61 F 17
70 R 2
20 F 9
70 F 5
34 F 17
43 R 8
15 F 11
24 F 15
25 F 20
78 F 10
43 R 19
96 R 2
95 R 15
50 F 9
55 F 13
1 F 17
87 R 2
86 L 25
69 L 2
74 R 26
6 L 7
77 F 9
49 F 8
12 R 6
79 61
100 100
69 58 S
8 37 N
30 10 E
75 23 S
9 58 N
35 46 N
6 50 S
36 22 W
5 28 S
42 32 E
72 41 N
73 8 W
65 46 S
11 23 E
3 42 S
35 17 S
36 30 N
48 17 S
33 44 W
7 22 W
62 54 E
17 43 S
37 17 E
74 7 S
44 15 N
65 13 N
41 17 S
15 21 N
51 46 E
50 10 E
29 30 W
40 60 W
27 24 S
10 13 E
21 45 S
36 54 E
54 41 W
39 6 S
45 47 W
63 34 S
12 31 S
56 43 S
51 54 W
42 7 N
72 45 W
63 24 W
50 38 S
53 21 N
55 36 S
54 60 S
71 44 N
44 55 N
68 48 W
2 47 W
12 37 N
17 57 E
51 61 N
55 8 N
18 21 N
78 36 E
61 27 W
7 27 N
37 9 S
13 29 W
49 12 W
67 61 S
78 3 S
58 31 S
51 4 W
77 29 W
42 22 S
45 43 S
9 6 W
63 11 S
31 21 N
78 42 E
39 13 S
16 2 N
56 58 S
68 25 W
72 6 W
57 51 W
40 42 E
31 7 E
69 11 S
60 22 N
56 44 S
59 13 W
3 53 N
54 44 N
70 51 N
58 50 N
32 32 W
17 16 E
63 13 E
37 51 N
22 29 E
27 60 S
2 18 E
20 59 S
71 F 15
25 R 8
8 F 17
26 R 30
72 F 20
22 R 2
92 R 31
12 F 19
35 L 2
72 F 5
55 F 19
37 F 14
91 L 18
8 L 31
91 F 5
92 L 2
40 L 1
90 F 1
5 F 8
63 R 22
67 R 5
70 F 21
84 F 1
90 L 2
80 L 2
74 F 19
52 F 18
55 L 18
50 L 2
60 F 17
26 F 4
51 F 23
65 F 9
13 F 7
5 R 2
61 R 2
30 F 8
24 F 19
6 L 2
51 F 9
19 R 25
58 F 22
62 R 5
93 L 5
58 R 2
69 L 2
84 L 2
55 L 31
91 F 6
69 L 29
62 F 6
67 F 3
64 R 2
1 R 30
90 F 9
8 L 2
15 R 2
46 R 27
45 F 11
86 F 10
34 R 2
66 F 19
63 F 4
94 L 19
25 F 12
30 L 2
86 L 27
34 F 1
31 F 9
70 L 31
72 L 30
10 F 2
88 L 2
13 F 10
80 F 14
19 L 25
77 R 2
72 F 13
44 R 31
25 F 8
27 R 1
19 F 21
88 F 19
79 F 5
49 F 11
63 L 22
91 L 30
30 F 19
40 R 2
18 L 2
88 L 2
28 R 3
27 R 2
82 F 1
14 F 1
100 R 2
46 F 5
2 R 2
70 L 25
23 F 16
20 90
73 4
5 88 N
10 9 N
4 28 W
10 36 E
4 88 W
4 68 S
3 2 S
12 44 E
4 84 W
14 48 E
1 7 S
12 84 S
8 2 N
18 44 S
2 80 S
18 15 N
12 58 W
7 34 S
19 64 E
9 20 W
18 81 S
4 30 S
10 21 W
14 18 N
11 90 N
18 17 S
14 69 W
10 16 N
12 81 W
17 21 E
15 77 S
8 25 S
19 47 S
1 57 E
16 21 E
13 22 S
9 68 W
16 3 S
12 37 E
19 73 S
13 30 E
14 24 E
11 65 E
13 39 W
9 36 E
13 27 S
13 67 W
10 48 E
15 75 E
2 1 W
12 75 E
3 45 S
9 58 E
8 9 S
4 32 E
11 54 E
13 75 S
11 75 N
7 81 E
1 59 S
10 42 E
12 31 S
4 87 N
20 46 E
5 29 N
16 20 S
13 84 W
9 78 N
5 63 S
10 90 W
6 46 W
14 57 W
11 43 S
15 F 10
56 R 2
34 F 16
39 F 10
100 100
100 100
42 58 S
49 6 N
40 70 W
8 97 N
57 65 S
85 68 E
75 45 E
17 59 N
43 40 W
2 84 W
14 96 E
12 7 W
10 26 N
48 41 N
82 73 N
53 39 N
49 87 W
96 43 W
4 11 E
63 72 W
45 58 N
23 20 W
69 77 W
15 49 N
61 8 E
47 90 E
88 11 W
60 26 S
89 25 E
11 9 N
62 61 E
62 60 N
93 32 N
59 30 E
38 64 N
14 46 W
74 2 N
47 40 N
72 87 S
58 17 E
97 89 E
68 6 W
82 20 W
73 85 E
61 75 N
42 9 N
45 96 E
84 94 N
26 36 S
44 63 W
35 52 E
97 67 E
98 22 W
2 16 W
88 36 S
86 92 W
67 39 W
4 82 N
48 61 S
23 7 W
41 4 N
98 38 E
65 36 N
48 16 N
61 11 N
52 30 S
16 46 E
54 75 N
42 63 W
37 79 W
29 50 N
81 58 S
42 32 S
60 75 E
6 56 W
82 9 W
23 96 N
95 26 E
62 18 S
54 1 N
87 89 W
26 79 N
20 20 N
91 56 W
6 74 W
57 9 N
25 12 N
39 58 S
57 2 W
33 21 N
69 59 N
10 23 W
26 7 E
25 76 S
74 12 W
87 40 E
7 97 W
50 81 S
78 63 N
51 96 N
34 F 12
77 F 4
75 F 3
5 L 27
17 F 8
77 R 2
87 F 30
8 F 5
95 F 13
17 L 12
70 R 2
45 F 15
44 R 27
76 L 59
91 F 9
89 L 2
67 F 27
76 F 7
73 F 10
73 F 8
15 R 27
47 F 5
49 L 16
82 R 2
15 F 10
56 F 2
40 F 26
37 L 26
7 R 2
19 L 2
42 F 1
76 F 2
37 L 3
73 R 14
5 R 2
67 F 25
15 R 2
64 F 1
61 L 2
16 L 21
89 R 2
37 F 12
80 R 29
96 R 11
90 F 20
44 R 3
46 F 3
56 L 2
36 L 2
95 L 16
45 R 2
75 F 2
22 R 27
71 F 6
22 L 7
27 F 3
90 F 5
10 F 1
88 R 2
24 L 29
91 R 14
21 L 22
91 F 9
46 L 2
82 R 3
50 R 2
76 R 11
47 L 2
96 L 4
34 F 9
72 F 27
35 L 28
96 F 17
21 F 16
55 F 22
89 L 17
60 R 26
7 F 22
23 R 20
16 R 31
62 L 12
60 L 2
8 L 1
29 R 10
58 F 18
36 F 8
55 F 7
4 F 2
69 L 23
76 L 2
31 F 21
29 F 3
14 L 2
94 R 2
34 L 27
21 L 2
78 L 7
4 R 2
9 F 29
78 F 16output:
Robot 1 crashes into the wall
OK
Robot 9 crashes into robot 6
Robot 9 crashes into robot 2
Robot 9 crashes into robot 3
Robot 9 crashes into robot 7
Robot 2 crashes into the wall
Robot 3 crashes into robot 2
Robot 4 crashes into the wall
Robot 12 crashes into the wall
Robot 2 crashes into the wall
Robot 3 crashes into the wall
Robot 2 crashes into the wall
Robot 2 crashes into the wall
OK
Robot 33 crashes into robot 32
Robot 25 crashes into robot 15
Robot 2 crashes into the wall
Robot 3 crashes into the wall
Robot 3 crashes into robot 2
Robot 1 crashes into the wall
Robot 30 crashes into robot 27
OK
Robot 2 crashes into robot 11
OK
OK
OK
Robot 61 crashes into robot 82
Robot 1 crashes into the wall
Robot 71 crashes into robot 44
Robot 34 crashes into robot 72
OK
4.Code:
#include <iostream>
#include <cstring> using namespace std; struct Point
{
int x;
int y;
int d;//direction
}; const int idx_x[] = {,,,-};
const int idx_y[] = {,,-,};
const char arr_d[] = {'N','E','S','W'};
const int num_d = ; int main()
{
//freopen("D://input.txt","r",stdin); int i,j; int k;
cin >> k; int flag; while(k--)
{
flag = ; int w,h; //a,b use w,h clearly
cin >> w >> h; int m,n;
cin >> n >> m; Point *arr_point = new Point[n]; int **arr_mark = new int*[h];
for(i = ; i < h; ++i)
{
arr_mark[i] = new int[w];
memset(arr_mark[i], , sizeof(int) * w);
} char ch;
for(i = ; i < n; ++i)
{
cin >> arr_point[i].x >> arr_point[i].y;
cin.get();
cin >> ch; arr_mark[arr_point[i].y - ][arr_point[i].x - ] = i + ; for(j = ; j < num_d; ++j) if(arr_d[j] == ch) break;
arr_point[i].d = j;
} //for(i = 0; i < n; ++i)
//{
// cout << "Point " << i << ":" << endl;
// cout << arr_point[i].x << endl;
// cout << arr_point[i].y << endl;
// cout << arr_point[i].d << endl;
//} //for(int y = 0; y < h; ++y)
//{
// for(int x = 0; x < w; ++x) cout << arr_mark[y][x] << " ";
// cout << endl;
//} for(i = ; i < m; ++i)
{
int robot,repeat;
char action; cin >> robot;
cin.get();
cin >> action >> repeat; //cout << robot << " " << action << " " << repeat << endl; if(flag)
{
switch(action)
{
case 'L':
arr_point[robot - ].d = (arr_point[robot - ].d - repeat + num_d * repeat) % num_d;
break;
case 'R':
arr_point[robot - ].d = (arr_point[robot - ].d + repeat) % num_d;
break;
case 'F':
for(j = ; j < repeat; ++j)
{
arr_mark[arr_point[robot - ].y - ][arr_point[robot - ].x - ] = ;
arr_point[robot - ].y += idx_y[arr_point[robot - ].d];
arr_point[robot - ].x += idx_x[arr_point[robot - ].d]; if((arr_point[robot - ].y - ) < || (arr_point[robot - ].y - ) >= h
|| (arr_point[robot - ].x - ) < || (arr_point[robot - ].x - ) >= w)
{
cout << "Robot " << robot << " crashes into the wall" << endl;
flag = ;
break;
}
else if(arr_mark[arr_point[robot - ].y - ][arr_point[robot - ].x - ])
{
cout << "Robot " << robot << " crashes into robot " << arr_mark[arr_point[robot - ].y - ][arr_point[robot - ].x - ] << endl;
flag = ;
break;
}
}
if(j >= repeat)
{
arr_mark[arr_point[robot - ].y - ][arr_point[robot - ].x - ] = robot;
}
break;
}
} } if(flag)
{
cout << "OK" << endl;
} for(i = ; i < h; ++i) delete [] arr_mark[i];
delete [] arr_mark; delete [] arr_point;
} //fclose(stdin); return ;
}
5.Reference:
Poj OpenJudge 百练 2632 Crashing Robots的更多相关文章
- Poj OpenJudge 百练 1573 Robot Motion
1.Link: http://poj.org/problem?id=1573 http://bailian.openjudge.cn/practice/1573/ 2.Content: Robot M ...
- Poj OpenJudge 百练 1062 昂贵的聘礼
1.Link: http://poj.org/problem?id=1062 http://bailian.openjudge.cn/practice/1062/ 2.Content: 昂贵的聘礼 T ...
- Poj OpenJudge 百练 1860 Currency Exchang
1.Link: http://poj.org/problem?id=1860 http://bailian.openjudge.cn/practice/1860 2.Content: Currency ...
- Poj OpenJudge 百练 2602 Superlong sums
1.Link: http://poj.org/problem?id=2602 http://bailian.openjudge.cn/practice/2602/ 2.Content: Superlo ...
- Poj OpenJudge 百练 2389 Bull Math
1.Link: http://poj.org/problem?id=2389 http://bailian.openjudge.cn/practice/2389/ 2.Content: Bull Ma ...
- Poj OpenJudge 百练 Bailian 1008 Maya Calendar
1.Link: http://poj.org/problem?id=1008 http://bailian.openjudge.cn/practice/1008/ 2.content: Maya Ca ...
- 模拟 POJ 2632 Crashing Robots
题目地址:http://poj.org/problem?id=2632 /* 题意:几个机器人按照指示,逐个朝某个(指定)方向的直走,如果走过的路上有机器人则输出谁撞到:如果走出界了,输出谁出界 如果 ...
- POJ 2632 Crashing Robots(较为繁琐的模拟)
题目链接:http://poj.org/problem?id=2632 题目大意:题意简单,N个机器人在一个A*B的网格上运动,告诉你机器人的起始位置和对它的具体操作,输出结果: 1.Robot i ...
- POJ 2632 Crashing Robots (坑爹的模拟题)
Crashing Robots Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 6599 Accepted: 2854 D ...
随机推荐
- 【剑指offer】近期公共祖先
转载请注明出处:http://blog.csdn.net/ns_code/article/details/28113959 剑指offer上的最后一题了,一个递归函数调了一下午,才得到正确的结果. 题 ...
- ORACLE中CONSTRAINT的四对属性
ORACLE中CONSTRAINT的四对属性 summary:在data migrate时,某些表的约束总是困扰着我们,让我们的migratet举步维艰,怎样利用约束本身的属性来处理这些问题呢?本文具 ...
- 【VBA研究】怎样将单元格数据赋给数组
作者:iamlaosong 将工作表中的数据赋给数组或者将数组的数据赋给工作表,一般有两种.一种是循环的方法,一个一个的传,这样的方法一般用于须要对每一个数据特别处理的场合,还有一种是一次性用赋值语句 ...
- ios开发——面试篇(一)
面试篇之内存管理与多线程 简述OC中内存管理机制.与retain配对使用的方法是dealloc还是release,为什么?需要与alloc配对使用的方法是dealloc还是release,为 ...
- How to Display Image In Picturebox in VC++ from Iplimage and Mat
Introduction This tip/trick will be useful to OpenCV programmers, who wish to use Windows Form appli ...
- qt里标识操作系统的宏
qt文件里的 windows的宏是Q_WS_WIN32/* The window system, must be one of: (Q_WS_x) MACX - Mac OS X ...
- 图形化管理debian服务
bootupmanager这个软件 ,用着勉强吧, 功能不多. 安装 sudo apt-get install bum 卸载sudo apt-get remove --purge bum 多了不说 , ...
- javascript的变量、作用域和内存问题
基本类型和引用类型的值执行环境垃圾收集 ECMAScript 变量可能包含两种不同数据类型的值:基本类型值和引用类型值.基本类型值指的是简单的数据段引用类型值指那些可能由多个值构成的对象 基本数据类型 ...
- Dubbo认识
Dubbo提供了服务注册.RPC服务调用.调用均衡.服务监控和服务failover等功能 Dubbo框架中有两个重要角色:(服务)提供者和(服务)消费者,这里为了简单起见,将包含了dubbo提供者或消 ...
- Linux时间函数
一.时间编程 1.核心理论 (1).时间类型 2.函数学习 (1).获取日历时间 函数名:time 函数原型:time_t time(time_t *t) 函数功能:获取当前日历时间 所属头文件:&l ...