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 ...
随机推荐
- struts2源代码学习之初始化(一)
看struts2源代码已有一段时日,从今天開始,就做一个总结吧. 首先,先看看怎么调试struts2源代码吧,主要是下面步骤: 使用Myeclipse创建一个webproject 导入struts2须 ...
- oc-07-有参方法的调用
// 13-[掌握]有参方法的声明实现和调用 #import <Foundation/Foundation.h> void test(){ } @interface Person : NS ...
- vim中设置Python自动补全
转自:http://blog.csdn.net/wangzhuo_0717/article/details/6942428 在VIM里面增加python的autocomplete功能的做法如下: 1. ...
- UNIX基础知识之信号
本篇博文内容摘自<UNIX环境高级编程>(第二版),仅作个人学习记录所用.关于本书可参考:http://www.apuebook.com/. 信号(signal)是通知进程已发生某种情况的 ...
- printf, fprintf, sprintf, snprintf, vprintf, vfprintf, vsprintf, vsnprintf - 输出格式转换函数
参考:http://blog.sina.com.cn/s/blog_674b5aae0100prv3.html 总览 (SYNOPSIS) #include <stdio.h> int p ...
- 写了个SharedPreferences的工具类(带加密)
/* * Copyright (C) 2014 Jason Fang ( ijasonfang@gmail.com ) * * Licensed under the Apache License, V ...
- svm、经验风险最小化、vc维
原文:http://blog.csdn.net/keith0812/article/details/8901113 “支持向量机方法是建立在统计学习理论的VC 维理论和结构风险最小原理基础上” 结构化 ...
- Skip list--reference wiki
In computer science, a skip list is a data structure that allows fast search within an ordered seque ...
- Redis 有序集合(sorted set)
Redis 有序集合和集合一样也是string类型元素的集合,且不允许重复的成员. 不同的是每个元素都会关联一个double类型的分数.redis正是通过分数来为集合中的成员进行从小到大的排序. 有序 ...
- 替换运算符 shell
${变量:-word}如果变量存在且非空,则返回其值:否则返回word 用于:如果变量未定义,则返回默认值即word ${变量:+word}如果变量 ...