圣诞活动预热开始啦,汉堡店推出了全新的汉堡套餐。为了避免浪费原料,请你帮他们制定合适的制作计划。
给你两个整数 t o m a t o S l i c e s tomatoSlices tomatoSlices 和 c h e e s e S l i c e s cheeseSlices cheeseSlices,分别表示番茄片和奶酪片的数目。不同汉堡的原料搭配如下:
请你以 [ t o t a l j u m b o , t o t a l s m a l l ] [total_jumbo, total_small] [totalj?umbo,totals?mall]([巨无霸汉堡总数,小皇堡总数])的格式返回恰当的制作方案,使得剩下的番茄片 t o m a t o S l i c e s tomatoSlices tomatoSlices 和奶酪片 c h e e s e S l i c e s cheeseSlices cheeseSlices 的数量都是 0。
如果无法使剩下的番茄片 t o m a t o S l i c e s tomatoSlices tomatoSlices 和奶酪片 c h e e s e S l i c e s cheeseSlices cheeseSlices 的数量为 0,就请返回 [ ] [ ] []。
输入:tomatoSlices = 16, cheeseSlices = 7
输出:[1,6]
解释:制作 1 个巨无霸汉堡和 6 个小皇堡需要 41 + 26 = 16 片番茄和 1 + 6 = 7 片奶酪。不会剩下原料。
输入:tomatoSlices = 17, cheeseSlices = 4
输出:[ ]
解释:只制作小皇堡和巨无霸汉堡无法用光全部原料。
输入:tomatoSlices = 4, cheeseSlices = 17
输出:[]
解释:制作 1 个巨无霸汉堡会剩下 16 片奶酪,制作 2 个小皇堡会剩下 15 片奶酪。
输入:tomatoSlices = 0, cheeseSlices = 0
输出:[0,0]
输入:tomatoSlices = 2, cheeseSlices = 1
输出:[0,1]
提示:
相关标签 :数学
今天的问题是一个典型的鸡兔同笼问题,还是相对简单的。
设巨无霸汉堡有 xxx 个,皇堡有 yyy 个,由于所有的材料都需要用完,因此我们可以得到二元一次方程组:
{ 4 x + 2 y = ?tomatoSlices? x + y = ?cheeseSlices? \left\{\begin{array}{l} 4 x+2 y=\text { tomatoSlices } \\ x+y=\text { cheeseSlices } \end{array}\right. {4x+2y=?tomatoSlices?x+y=?cheeseSlices??
根据题意,
x
,
y
≥
0
x
,
y
≥
0
x
,
y
≥
0
且
x
,
y
∈
N
x
,
y
∈
N
x
,
y
∈
N
x,y≥0x, y \geq 0x,y≥0 且 x,y∈Nx, y \in \mathbb{N}x,y∈N
x,y≥0x,y≥0x,y≥0且x,y∈Nx,y∈Nx,y∈N ,解方程,得:
{
?tomatoSlices?
=
2
k
,
k
∈
N
?tomatoSlices?
≥
2
×
?cheeseSlices?
4
×
?cheeseSlices?
≥
?tomatoSlices?
\left\{\begin{array}{l} \text { tomatoSlices }=2 k, \quad k \in \mathbb{N} \\ \text { tomatoSlices } \geq 2 \times \text { cheeseSlices } \\ 4 \times \text { cheeseSlices } \geq \text { tomatoSlices } \end{array}\right.
?
?
???tomatoSlices?=2k,k∈N?tomatoSlices?≥2×?cheeseSlices?4×?cheeseSlices?≥?tomatoSlices??
class Solution:
def numOfBurgers(self, tomatoSlices: int, cheeseSlices: int) -> List[int]:
if tomatoSlices % 2 != 0 \
or tomatoSlices < cheeseSlices * 2 \
or cheeseSlices * 4 < tomatoSlices:
return []
return [tomatoSlices // 2 - cheeseSlices, \
cheeseSlices * 2 - tomatoSlices // 2]