Lập trình pascal đội bốc vác – HSG tỉnh Lâm Đồng năm 2018 – 2019

Trong đề thi HSG tỉnh Lâm Đồng năm 2018 – 2019 có bài đội bốc vác hết sức thú vị với nội dung như sau:

Câu 3 (5 điểm) Đội bốc vác

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 thoe 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ự 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< k <=65) là khối lượng của các bao hàng từ 1 đến b.

Câu 3: đội bốc vác – Đề thi HSG tỉnh Lâm Đồng năm 2018 – 2019

Bai 3 – Lời giải tham khảo của thầy: Trần Quang Vĩnh Chánh

#include <bits/stdc++.h>
#define max 1000

using namespace std;
ifstream fi (“bocvac.inp”);
ofstream fo (“bocvac.out”);
void nhapmang(int k[max],int b);
void tong(int k[max],int t[max],int b,int a);
int lonnhat(int t[max],int a);
int a,b,k[max],t[max];
int main()
{
fi>>a>>b;
nhapmang(k,b);
tong(k,t,b,a);
return 0;
}
void nhapmang(int k[max],int b)
{
for(int i=0;i<b;i++)
fi>>k[i];
}
int lonnhat(int t[max],int a)
{
int vt;
long long ln=t[0];
for(int i=1;i<a;i++)
if(t[i]>ln)
{
ln= t[i];
vt=i;
}
return vt+1;
}
void tong(int k[max],int t[max],int b,int a)
{
for(int i=0;i<=a;i++)
t[i]=0;
for(int i=0;i<b;i++)
{
t[i%a]=t[i%a]+k[i];
}
for(int i=0;i<a;i++)
fo<<t[i]<<” “;
fo<<“\n”<<lonnhat(t,a);
}

Xin thay mặt các bạn cảm ơn thày Chánh đã chia sẽ code để các bạn tham khảo

 

One Comment

Trả lời

Email của bạn sẽ không được hiển thị công khai.

Back to top button