python编程题 你是一名医院的护士,粗心的你拿到药片后并没有进行分组,只记得要平均成两份,然而当你想起这件事的时候,病人的药片已经被分成了好几瓶。瓶字中的药片无法取出。鲜有n个药瓶,第二行n个数字代表每个药瓶中药片的数量,现在你想知道,是否可以将药片通过将药瓶组合的方式平均成两份(不允许拆分每瓶药片) 输入描述:首先输入一个数字n,代表药瓶的数量,第二行输入n个数字,代表每个瓶子中药片的数量nums
时间: 2023-05-28 21:01:40 浏览: 68
输入格式:
第一行:一个整数n,表示药瓶的数量。
第二行:n个整数,表示每个药瓶中药片的数量。
输出格式:
如果可以将药片通过将药瓶组合的方式平均成两份,则输出“Yes”,否则输出“No”。
输入样例:
3
3 3 3
输出样例:
Yes
输入样例:
3
1 1 1
输出样例:
No
输入样例:
4
2 2 2 2
输出样例:
Yes
说明:
对于第一、三个样例,药片可以平均成两份。
对于第二个样例,只有3个药片,无法平均成两份。
对于第四个样例,共有8个药片,可以组合成4个瓶子,使得每个瓶子中的药片数量都是4。
相关问题
c++编程题 你是一名医院的护士,粗心的你拿到药片后并没有进行分组,只记得要平均成两份,然而当你想起这件事的时候,病人的药片已经被分成了好几瓶。瓶字中的药片无法取出。鲜有n个药瓶,第二行n个数字代表每个药瓶中药片的数量,现在你想知道,是否可以将药片通过将药瓶组合的方式平均成两份(不允许拆分每瓶药片) 输入描述:首先输入一个数字n,代表药瓶的数量,第二行输入n个数字,代表每个瓶子中药片的数量nums
思路:首先计算总药片数,如果总药片数是奇数,那么无法平均成两份,直接返回false;如果总药片数是偶数,再判断是否存在某种药瓶,它的药片数量正好等于总药片数的一半,那么这瓶药片就可以单独分成一份,不参与其他药瓶的组合,其他药瓶组合成的药片数也应该正好是总药片数的一半,否则无法平均分成两份,返回false。
时间复杂度:O(n)
Python代码:
python代码 你是一名医院的护士,粗心的你拿到药片后并没有进行分组,只记得要平均成两份,然而当你想起这件事的时候,病人的药片已经被分成了好几瓶。瓶字中的药片无法取出。鲜有n个药瓶,第二行n个数字代表每个药瓶中药片的数量,现在你想知道,是否可以将药片通过将药瓶组合的方式平均成两份(不允许拆分每瓶药片) 输入描述:首先输入一个数字n,代表药瓶的数量,第二行输入n个数字,代表每个瓶子中药片的数量nums
n = int(input()) # 输入药瓶数量
nums = list(map(int, input().split())) # 输入每个药瓶中药片的数量
total = sum(nums) # 计算所有药片数量的总和
if total % 2 == 1: # 如果总数为奇数,无法平均分成两份
print("NO")
else:
target = total // 2 # 计算每份药片数量的目标值
dp = [False] * (target + 1) # 创建动态规划数组,其中dp[i]表示是否存在一种药瓶组合方式,使得药片数量的和等于i
# 初始化dp数组
dp[0] = True
for i in range(nums[0], target + 1):
dp[i] = (nums[0] == i)
# 动态转移
for i in range(1, n):
for j in range(target, nums[i] - 1, -1):
dp[j] = dp[j] or dp[j - nums[i]]
if dp[target]:
print("YES")
else:
print("NO")
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)