C6-11 · Sơ đồ phòng chiếu
Xem dạng PDF
Gửi bài giải
Điểm:
1,00
Giới hạn thời gian:
1.0s
Giới hạn bộ nhớ:
256M
Input:
stdin
Output:
stdout
Tác giả:
Nguồn bài:
Dạng bài
Ngôn ngữ cho phép
Python
Đề
Một phòng chiếu phim có ~r~ hàng ghế, mỗi hàng ~c~ ghế. Đã bán ~v~ vé, mỗi vé ứng với một ghế (hàng, ghế) và không có hai vé trùng ghế. Hãy tạo bảng ~r \times c~ đúng cách (mỗi dòng là một danh sách riêng), đánh dấu các ghế đã bán, rồi:
- in sơ đồ phòng:
Xlà ghế đã bán,.là ghế trống; - in số thứ tự của hàng còn nhiều ghế trống nhất; nếu nhiều hàng bằng nhau thì chọn hàng đứng trước.
Dữ liệu vào
- Dòng 1: ba số nguyên ~r~, ~c~, ~v~.
- ~v~ dòng tiếp theo, mỗi dòng hai số nguyên
hang ghe(hàng và ghế đánh số từ 1).
Kết quả
- ~r~ dòng đầu: sơ đồ, mỗi dòng ~c~ ký hiệu
Xhoặc.cách nhau một dấu cách; dòng thứ ~i~ là hàng ~i~. - Dòng cuối: số thứ tự hàng còn nhiều ghế trống nhất.
Ràng buộc
- ~1 \le r, c \le 20~; ~0 \le v \le r \cdot c~.
- ~1 \le~
hang~\le r~, ~1 \le~ghe~\le c~; các vé không trùng nhau.
Ví dụ
Dữ liệu vào:
3 5 3
1 2
1 3
3 5
Kết quả:
. X X . .
. . . . .
. . . . X
2
Giải thích ví dụ
Hàng 1 bán ghế 2, 3; hàng 3 bán ghế 5. Số ghế trống: hàng 1 còn 3, hàng 2 còn 5, hàng 3 còn 4. Hàng 2 trống nhiều nhất.
Ghế (hàng 1, ghế 2) nằm ở so_do[0][1] — trừ 1 cho cả hàng lẫn ghế.
Lưu ý
[["."] * c] * rtạo ~r~ tên cùng trỏ vào một danh sách: bán một ghế thì cả cột thànhX(mục 6.6–6.7, bảng 6.10). Tạo từng dòng trong vòng lặp:so_do.append(["."] * c).- Có thể ~v = 0~ (chưa bán vé nào) hoặc bán hết; khi mọi hàng bằng nhau thì in
1. - Bộ test có phòng 1 × 1, 20 × 20, phòng có số hàng khác số ghế (đổi lẫn ~r~ và ~c~ là sai).
Nguồn trong sách: Bài C6-11, mục 6.12, giáo trình Lập trình cơ sở với Python — TS. Nguyễn Quốc Long · Mức: (***)
Đang tải...