trang chủ / bài tập / robotcoll

Robot va chạm

Đề bài

Mô tả

n robot di chuyển trên trục Ox. Có hai bức tường: một tại tọa độ 0 và một tại tọa độ m.

Robot thứ i bắt đầu tại tọa độ nguyên xi (0<xi<m) và di chuyển sang trái (về phía 0) hoặc sang phải với tốc độ 1 đơn vị mỗi giây. Không có hai robot nào bắt đầu ở cùng một tọa độ.

Mỗi khi một robot chạm vào một bức tường, nó lập tức quay đầu và tiếp tục di chuyển theo chiều ngược lại với cùng tốc độ.

Mỗi khi hai hoặc nhiều robot gặp nhau tại cùng một tọa độ nguyên, chúng va chạm và nổ tung. Khi một robot đã nổ, nó không còn va chạm với bất kỳ robot nào khác nữa. Lưu ý rằng nếu nhiều robot gặp nhau tại một tọa độ không nguyên thì không có gì xảy ra.

Với mỗi robot, hãy xác định xem nó có bao giờ nổ hay không. Nếu có, in ra thời gian nổ; nếu không, in ra 1.

Dữ liệu vào

Dòng đầu tiên chứa một số nguyên t (1t1000) — số bộ test.

Tiếp theo là mô tả của t bộ test.

Dòng đầu tiên của mỗi bộ test chứa hai số nguyên nm (1n3·105; 2m108) — số robot và tọa độ của bức tường bên phải.

Dòng thứ hai chứa n số nguyên x1,x2,,xn (0<xi<m) — tọa độ ban đầu của các robot.

Dòng thứ ba chứa n ký tự 'L' hoặc 'R' cách nhau bởi dấu cách — chiều di chuyển ban đầu của các robot ('L' là sang trái, 'R' là sang phải).

Mọi tọa độ xi trong cùng một bộ test là phân biệt.

Tổng n trên tất cả các bộ test không vượt quá 3·105.

Dữ liệu ra

Với mỗi bộ test, in ra n số nguyên — với robot thứ i, in thời gian nó nổ (nếu có), ngược lại in 1.

Ràng buộc

  • 1t1000
  • 1n3·105
  • 2m108
  • 0<xi<m
  • Tổng n không vượt quá 3·105

Ví dụ

Input Output Giải thích
5
7 12
1 2 3 4 9 10 11
R R L L R R R
2 10
1 6
R R
2 10
1 3
L L
1 10
5
R
7 8
6 1 7 2 3 5 4
R L R L L L L
1 1 1 1 2 -1 2
-1 -1
2 2
-1
-1 2 7 3 2 7 3
Bộ test đầu: tại giây 1, robot 12 gặp nhau tại tọa độ 2, robot 34 gặp nhau tại tọa độ 3. Robot 23 không va chạm vì gặp nhau tại 2,5 (không nguyên). Tại giây 2, robot 5 (đi sang phải) và robot 7 (sau khi bật tường phải) gặp nhau tại tọa độ 11. Robot 6 không bao giờ nổ.
1
10 20
2 3 7 9 10 13 14 16 17 18
L L R L L R R R L L
6 -1 1 1 6 2 -1 1 2 1 Có một robot không bao giờ va chạm.

Bình luận

Không có bình luận tại thời điểm này.

gnatmake 12.2.0 a68g 3.1.2 nasm 2.16.1 as_x64 2.46 awk 1.3.4 gcc 16.1.0 csc 6.12.0.200 g++ 16.1.0 g++-themis 16.1.0 g++17 16.1.0 g++20 16.1.0 g++23 16.1.0 clang++ 22.1.6 dmd 2.112.0 dart 3.12.1 gforth 0.7.3 gfortran 12.2.0 go 1.26.3 groovyc 5.0.6 javac 25.0.3 node 26.2.0 kotlinc 2.3.21 sbcl 2.2.9 lua 5.4.8 nim 2.2.10 fpc 3.2.2 fpc-themis 3.2.2 perl 5.36.0 php 8.5.6 pike 8.0 pypy3 7.3.23 python3 3.14.5 racket 8.7 ruby 4.0.5 rustc 1.96.0 csc 5.3.0 ctoj-scratch 0.0.1 sed 4.9 tclsh 8.6 bun 1.3.14 deno 2.8.1 v 0.5.1 zig 0.16.0