LH Quảng cáo: lazijsc@gmail.com

Bài tập  /  Bài đang cần trả lời

Trong thời gian vừa qua, người dân ở thành phố XYZ đã vui mừng chào đón sự xuất hiện của con đường ven biển

----- Nội dung dịch tự động từ ảnh -----
Trong thời gian vừa qua, người dân ở thành phố XYZ đã vui mừng chào đón sự xuất hiện
của con đường ven biển, con đường được đầu tư rất nhiều kinh phí làm đường và xây dựng các
tòa nhà đẹp nằm ở cùng một phía của con đường, con đường này được coi là con đường có cảnh
quang đẹp nhất hành tinh. Con đường có n tòa nhà, được đánh thứ tự từ 1 đến n, tính từ đầu
đường, tòa nhà thứ i có độ cao là hi ( i= 1..n). Theo các chuyên gia kiến trúc và thẩm mĩ, đoạn
đường đẹp nhất là đoạn đường mà ở đó có độ cao trung bình của các tòa nhà đúng bằng k.
Yêu cầu: Em hãy tìm đoạn đường có các tòa nhà liên tiếp nhau nhiều nhất sao cho đoạn
đường này là đoạn đường đẹp nhất (độ cao trung bình của các tòa nhà đúng bằng k).
Dữ liệu vào: Cho từ tệp văn bản DDUONG.INP gồm:
Dòng thứ nhất ghi hai số nguyên n và k (1 Dòng thứ hai ghi n số nguyên hi, h2, ..., ha (0 Các số trên cùng một dòng ghi cách nhau ít nhất một khoảng trống.


Kết quả: Ghi vào tệp văn bản DDUONG.OUT gồm:

Dòng thứ nhất ghi một số nguyên u là chỉ số bắt đầu của toà nhà thuộc đoạn đường
đẹp nhất tìm được, nếu có nhiều đáp án thì ghi chỉ số u nhỏ nhất.

Dòng thứ hai ghi một số nguyên v là số lượng toà nhà thuộc đoạn đường tìm được.
Nếu không có đoạn đường nào đẹp nhất thì ghi ra duy nhất số 0.
Ví dụ:
DDUONG.INP
45
2456
2
3
DDUONG.OUT
1 trả lời
Hỏi chi tiết
177
0
0
Minh Hòa
01/03 19:58:17
+5đ tặng
Để giải bài toán này, chúng ta có thể sử dụng một cửa sổ trượt để duyệt qua các đoạn đường có thể và tính độ cao trung bình của từng đoạn. Dưới đây là mã giả để giải quyết vấn đề:

 '''plaintext
Đọc dữ liệu từ tệp DDUONG.INP
Đặt left = 1, right = k
Tính tổng độ cao của đoạn đường ban đầu (tổng các tòa nhà từ 1 đến k)
Lặp đến khi right = n:
    Tính độ cao trung bình của đoạn đường hiện tại
    Nếu độ cao trung bình bằng k:
        Ghi left và right vào tệp DDUONG.OUT
    Di chuyển cửa sổ trượt sang phải (right++)
    Cập nhật tổng độ cao của đoạn đường (trừ đi tòa nhà ở vị trí left, cộng thêm tòa nhà ở vị trí right)

Đọc tệp DDUONG.OUT để lấy kết quả
'''

Mã giả trên giúp tìm ra đoạn đường có độ cao trung bình bằng k và ghi vào tệp DDUONG.OUT.
ko chắc

Mở khóa để xem toàn bộ nội dung trả lời

(?)
Bạn đã đạt đến giới hạn của mình. Bằng cách Đăng ký tài khoản, bạn có thể xem toàn bộ nội dung trả lời
Cải thiện điểm số của bạn bằng cách đăng ký tài khoản Lazi.
Xem toàn bộ các câu trả lời, chat trực tiếp 1:1 với đội ngũ Gia sư Lazi bằng cách Đăng nhập tài khoản ngay bây giờ
Tôi đã có tài khoản? Đăng nhập

Bạn hỏi - Lazi trả lời

Bạn muốn biết điều gì?

GỬI CÂU HỎI
Học tập không giới hạn cùng học sinh cả nước và AI, sôi động, tích cực, trải nghiệm
Bài tập Tin học Lớp 9 mới nhất

Hôm nay bạn thế nào? Hãy nhấp vào một lựa chọn, nếu may mắn bạn sẽ được tặng 50.000 xu từ Lazi

Vui Buồn Bình thường

Học ngoại ngữ với Flashcard

×
Trợ lý ảo Trợ lý ảo
×
Gia sư Lazi Gia sư