Bỏ qua đến nội dung
Kho đề HSG Tin 9Đề thi cấp tỉnh/thành phố

Bài 3 · Lập trình

Trò chơi LineDash

Điểm
7 điểm
Tên chương trình
LNDASH.*
Vào / Ra
LNDASH.INP → LNDASH.OUT

Đề bài

Trong trò chơi LineDash có một nhân vật trên mặt phẳng tọa độ OxyOxy. Có 3 cách điều khiển nhân vật dựa trên 3 loại kí tự /, –, \ với ý nghĩa:

  • Loại / : Nếu nhân vật đang ở tọa độ (x,y)(x, y) thì sau khi nhận lệnh này nhân vật sẽ di chuyển đến (x+1,y+1)(x+1, y+1);
  • Loại – : Nếu nhân vật đang ở tọa độ (x,y)(x, y) thì sau khi nhận lệnh này nhân vật sẽ di chuyển đến (x+1,y)(x+1, y);
  • Loại \ : Nếu nhân vật đang ở tọa độ (x,y)(x, y) thì sau khi nhận lệnh này nhân vật sẽ di chuyển đến (x+1,y−1)(x+1, y-1).

Ban đầu nhân vật xuất phát ở (0,0)(0, 0) và di chuyển theo chiều ngang nếu không nhận được lệnh. Tại một số thời điểm, người chơi sẽ ra lệnh đổi hướng và nhân vật sẽ di chuyển về hướng đó cho đến khi nhận được lệnh mới. Điểm sẽ tích lũy theo quãng đường đi được. Có NN lần nhận lệnh, lần thứ ii nhân vật nhận lệnh CiC_i tại thời điểm TiT_i. Mỗi khi nhận một lệnh, nhân vật sẽ di chuyển theo lộ trình của lệnh đó cho đến khi nhận lệnh kế tiếp. Biết rằng nhân vật di chuyển trong TT giây và thời gian thực hiện một lệnh là 11 giây.

Yêu cầu: Cho danh sách các lệnh điều khiển và một số câu hỏi, mỗi câu hỏi là một khoảng thời gian [L,R][L, R]. Hãy cho biết từ thời gian LL đến thời gian RR nhân vật đi được quãng đường là bao nhiêu.

Hình 1 của bài Trò chơi LineDash
Hình 1 · chạm để phóng to

Dữ liệu vàoLNDASH.INP

Vào từ file văn bản LNDASH.INP gồm:

  • Dòng đầu ghi ba số NN, TT và QQ (N,Q≤105; T≤109)(N, Q \le 10^5;\ T \le 10^9);
  • NN dòng tiếp theo, mỗi dòng chứa một số nguyên TiT_i (0≤Ti≤T)(0 \le T_i \le T) và một kí tự CiC_i (là một trong ba kí tự /, –, \). Cho biết T1<T2<⋯<TnT_1 < T_2 < \dots < T_n;
  • QQ dòng tiếp theo, mỗi dòng ghi hai số nguyên Li,RiL_i, R_i (0≤Li≤Ri≤T)(0 \le L_i \le R_i \le T).

Kết quả raLNDASH.OUT

Ghi ra file văn bản LNDASH.OUT gồm QQ dòng, dòng thứ ii chứa kết quả của truy vấn thứ ii sau khi làm tròn đến 6 chữ số sau dấu phẩy thập phân.

Ràng buộc

  • 20% số điểm bài thi: N=0N = 0;
  • 20% số điểm bài thi: N=1N = 1 và không có lệnh -;
  • 20% số điểm bài thi: N,T,Q≤1000N, T, Q \le 1000;
  • 30% số điểm bài thi: T≤106T \le 10^6;
  • 10% số điểm bài thi: không có ràng buộc nào thêm.

Ví dụ

Dữ liệu vàoLNDASH.INP
3 5 2
1 /
3 –
4 \
1 5
2 4
Kết quả raLNDASH.OUT
5.242641
2.414214

Giải thích

Lộ trình di chuyển của nhân vật là:

  • Truy vấn 1: S là 1+32=5.2426411 + 3\sqrt{2} = 5.242641;
  • Truy vấn 2: S là 1+2=2.4142141 + \sqrt{2} = 2.414214.

Thuộc đề thi

Kỳ thi chọn học sinh giỏi lớp 9 cấp thành phố năm học 2025 - 2026 — Môn: Tin học

TP. Hồ Chí Minh · Cấp thành phố · Năm học 2025-2026

Đề sưu tầm/chép lại, có thể khác bản gốc. Xem ghi chú