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

Giải bài có thưởng!

Cửa hàng Cò con là tổng đại lí cám Con cò của tỉnh, cám được giao từ tổng công công ti cho cửa hàng mỗi lần F1 tấn nhưng thời điểm giao cám là không cố định. Do đãng trí, ông chủ cửa hàng quên ngày nhận cám liền trước nên ông nhờ bạn dựa vào sổ sách bán hàng tính toán hộ

----- Nội dung dịch tự động từ ảnh -----
Ngày nhận hàng [STORK]
Cửa hàng Cò con là tổng đại lí cám Con cò của tỉnh, cám được giao từ tổng công công ti cho cửa hàng mỗi
lần F1 tấn nhưng thời điểm giao cám là không cố định. Do đãng trí, ông chủ cửa hàng quên ngày nhận
cám liền trước nên ông nhờ bạn dựa vào sổ sách bán hàng tính toán hộ.
Cửa hàng Cò con có C đại lí con, mỗi đại lí con đăng kí nhận một tấn cám mỗi ngày trong đợt nhận hàng
là một chuỗi ngày liên tiếp của đại lí đó. Sổ bán hàng ghi nhận:
• Ngày nhận cám từ tổng công ti là ngày mà vào đầu ngày, lượng cám còn lại trong kho bằng 0;

Vào cuối ngày D, lượng cám trong kho còn lại đúng F2 tấn;
Các đơn hàng từ ngày 1 đến ngày D đều được giao đầy đủ.
Hãy xác định chính xác ngày cửa hàng Cò con nhận cám từ tổng công ti.
Dữ liệu
<100)
Dòng 1: bốn số C, FF2D (1 Dòng 2 ... C + 1: dòng i + 1 ghi hai số nguyên đều trong phạm vi 1 ... 2,000 là ngày bắt đầu và
ngày kết thúc đợt nhận hàng của đại lí con thứ i (đại lí sẽ nhận hàng trong cả hai ngày bắt đầu và
kết thúc đợt),.
Kết quả
• Số nguyên chỉ ngày cửa hàng Cò con nhận cám từ tổng công ti.
Ví dụ
input
output
Giải thích
3 14 4 10
6
19
58
8 12
Cửa hàng nhận từ tổng công ti 14 tấn, kho còn 4 tấn vào cuối ngày
thứ 10; 3 đại lí con đăng kí nhận hàng theo các đợt 1 ...9,5...8,8 ... 12
Ngày nhận cám là ngày 6, bắt đầu bằng 14 tấn ở ngày 6, đại lí 1 nhận
4 tấn trong các ngày 6 ... 9, đại lí 2 nhận 3 tấn trong các ngày 6 ... 8,
đại lí 3 nhận 3 tấn trong các ngày 8 ... 10, cuối ngày 10 trong kho còn
14 – 4 – 3 – 3 = 4 tấn cám.
-
0 trả lời
Hỏi chi tiết
42
Tham khảo câu trả lời từ Trợ lý ảo Lazi
Để xác định chính xác ngày cửa hàng Cò con nhận cám từ tổng công ty, chúng ta cần thực hiện các bước sau:

1. **Đọc dữ liệu đầu vào**:
- Số lượng đại lý con \( C \).
- Số lượng cám nhận từ tổng công ty \( F_1 \).
- Số lượng cám còn lại trong kho vào cuối ngày \( D \) là \( F_2 \).
- Ngày bắt đầu và ngày kết thúc đợt nhận hàng của từng đại lý con.

2. **Tính toán lượng cám tiêu thụ mỗi ngày**:
- Tạo một mảng để lưu trữ lượng cám tiêu thụ mỗi ngày.
- Duyệt qua từng đại lý con và cập nhật lượng cám tiêu thụ trong khoảng thời gian từ ngày bắt đầu đến ngày kết thúc của đại lý đó.

3. **Xác định ngày nhận cám**:
- Bắt đầu từ ngày \( D \) và tính ngược lại để tìm ngày mà lượng cám trong kho bằng 0.
- Tính tổng lượng cám tiêu thụ từ ngày nhận cám đến ngày \( D \) và so sánh với \( F_1 - F_2 \).

Dưới đây là một đoạn mã giả để minh họa quá trình tính toán:

```python
def find_receiving_day(C, F1, F2, D, intervals):
# Tạo mảng lưu trữ lượng cám tiêu thụ mỗi ngày
consumption = [0] * (D + 1)

# Cập nhật lượng cám tiêu thụ từ các đại lý con
for start, end in intervals:
for day in range(start, end + 1):
consumption[day] += 1

# Tính tổng lượng cám tiêu thụ từ ngày nhận cám đến ngày D
total_consumption = 0
for day in range(D, 0, -1):
total_consumption += consumption[day]
if total_consumption == F1 - F2:
return day

# Dữ liệu đầu vào
C = 3
F1 = 14
F2 = 4
D = 10
intervals = [(1, 9), (5, 8), (8, 12)]

# Tìm ngày nhận cám
receiving_day = find_receiving_day(C, F1, F2, D, intervals)
print(receiving_day) # Output: 6
```

Giải thích:
- Chúng ta tạo một mảng `consumption` để lưu trữ lượng cám tiêu thụ mỗi ngày.
- Duyệt qua từng đại lý con và cập nhật lượng cám tiêu thụ trong khoảng thời gian từ ngày bắt đầu đến ngày kết thúc của đại lý đó.
- Tính tổng lượng cám tiêu thụ từ ngày nhận cám đến ngày \( D \) và so sánh với \( F_1 - F_2 \). Nếu khớp, đó là ngày nhận cám.

Trong ví dụ này, ngày nhận cám là ngày 6.

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 liên quan
Trắc nghiệm Lập trình 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ư