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

Một đội bốc vác khi làm việc thường được phân công như sau

python ạ!
----- Nội dung dịch tự động từ ảnh -----
Một đội bốc vác khi làm việc thường được phân công như sau:
+ Nhóm phụ việc gồm: một người ghi chép các thông tin liên quan đến công
việc, ở điểm bốc hàng sẽ có một người phụ giúp để cân khối lượng và đưa các bao
hàng lên vai, ở điểm xếp sẽ có một người giúp sắp xếp ngăn nắp các bao hàng.
+ Nhóm khuân vác: Gồm a công nhân khuân vác sẽ làm việc theo thứ tự để
vác b bao hàng từ điểm bốc đến điểm xếp rồi quay lại, lặp lại cho đến khi hết hàng.
Khi làm việc các công nhân được đánh mã số là số thứ tự lần lượt từ 1 đến a
(trên thực tế mã số này chính là tên của từng công nhân), các bao hàng được ghi số
thứ tự từ 1 đến b.
Hãy viết chương trình để tính năng suất và tiền thưởng cho nhóm công nhân
khuân vác.
Dữ liệu vào từ file: BOCVAC.INP
- Dòng đầu tiên ghi hai số nguyên a, b cách nhau một khoảng trống (0 < a,b < 1000).
- Dòng tiếp theo là b số tự nhiên có giá trị k (45 bao hàng từ 1 đến b.
Dữ liệu ra file: BOCVAC.OUT
- Dòng đầu tiên ghi tổng khối lượng mà mỗi công nhân vác được, các số cách
nhau một khoảng trắng.
- Dòng thứ hai ghi mã số của công nhân có tổng khối lượng vác nhiều nhất,
nếu có nhiều công nhân cùng khối lượng thì ghi tất cả mã số theo thứ tự tăng dần, các
số cách nhau một khoảng trắng.
Ví dụ:
BOCVAC.INP
5 17
51 62 53 54 65 56 57 58 49 60 51 62 53 64 55 56 47
BOCVAC.OUT
214 228 164 167 180
2
1 Xem trả lời
Hỏi chi tiết
86
2
0
GUNTER OBERDORF ...
05/02 20:41:45
+5đ tặng
def calculate_workload(a, b, weights):
    workload = [0]*a
    for i in range(b):
        worker = i % a
        workload[worker] += weights[i]
    return workload

def find_max_workers(workload):
    max_work = max(workload)
    max_workers = [i+1 for i, work in enumerate(workload) if work == max_work]
    return max_workers

def main():
    with open('BOCVAC.INP', 'r') as f:
        a, b = map(int, f.readline().split())
        weights = list(map(int, f.readline().split()))
    workload = calculate_workload(a, b, weights)
    max_workers = find_max_workers(workload)
    with open('BOCVAC.OUT', 'w') as f:
        f.write(' '.join(map(str, workload)) + '\n')
        f.write(' '.join(map(str, max_workers)) + '\n')

if __name__ == "__main__":
    main()
 

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

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
×
Trợ lý ảo Trợ lý ảo
×
Đấu trường tri thức | Lazi Quiz Challenge +500k
Gửi câu hỏi
×