链接:https://ac.nowcoder.com/acm/contest/59284/E 来源:牛客网 牛牛在幼稚园做义工,幼稚园中共有 � n 颗树,第 1 天中午时它们的高度分别为: ℎ 1 , ℎ 2 , … , ℎ � h 1 ,h 2 ,…,h n (单位:毫米)。 每一天的晚上第 � i 棵树的高度会增加 � � a i 豪米,而牛牛的任务则是在第二天的清晨检查每一颗树的高度,若某颗树的高度超过了 � k 毫米牛牛就会将它的高度修剪为 � b 豪米。 牛牛想请你帮它计算一下第 � m 天中午每一颗树的高度。
时间: 2024-04-03 08:31:31 浏览: 147
ACM程序设计导引及在线实践
这道题目可以使用模拟的方法来解决。具体思路如下:
1. 读入输入数据,包括树的数量 $n$、每棵树的初始高度 $h_i$、每棵树每天晚上增加的高度 $a_i$、高度超过 $k$ 之后修剪的高度 $b$,以及需要计算的天数 $m$。
2. 对于每一天,遍历每一棵树,更新它的高度。具体地,对于第 $i$ 棵树,它的高度增加 $a_i$,如果超过了 $k$,就修剪为 $b$。
3. 输出每一天中所有树的高度。
下面是使用 Python 语言实现的代码:
```python
n, k, b, m = map(int, input().split())
h = list(map(int, input().split()))
a = list(map(int, input().split()))
for i in range(m):
for j in range(n):
h[j] += a[j]
if h[j] > k:
h[j] = b
print(*h)
```
输入样例:
```
3 10 5 3
8 15 5
2 3 4
```
输出样例:
```
10 18 10
12 21 15
14 24 5
```
阅读全文