2020.06.27日常總結

UVA10970 Big Chocolate\color{green}{\texttt{UVA10970 Big Chocolate}}

[Problem]\color{blue}{\texttt{[Problem]}}

  • 給你一塊 n×mn\times m 的巧克力和一把刀,你要用刀把這個巧克力分成 n×mn\times m1×11\times 1 的小塊,但是一刀不能看兩個巧克力,請問你最少需要砍幾刀?
  • 多組數據。1n,m3001 \leq n,m \leq 300

[Soluntion]\color{blue}{\texttt{[Soluntion]}}

這是一道思維題。據我所知,有兩種思考的方法。

  1. 感性的思考。

    一刀可以把巧克力分成兩塊,兩刀可以把巧克力分成三塊,三刀可以把巧克力分成四塊……以此類推,tt 刀可以把巧克力分成 t+1t+1 塊。

    所以,要把巧克力分成 n×mn\times m 塊,就需要 n×m1n\times m-1 刀,直接輸出即可滿分。

  2. 比較理性的思考。

    先橫着切還是先豎着切,還是橫豎相交的切,需要的刀數都是一樣的。所以我們可以這樣考慮:

    先考慮把巧克力分成 mmn×1n \times 1 的小塊,這需要 m1m-1 刀。再把這 mm 個小塊各自分成 1×11 \times 1 的巧克力,每個小塊需要 n1n-1,所以總的刀數爲:

    (m1)+(n1)×m=m1+(n1)×m=(n1+1)×m1=n×m1\begin{aligned}(m-1)+(n-1)\times m&=m-1+(n-1)\times m\\ &=(n-1+1)\times m-1\\ &=n\times m-1 \end{aligned}

    直接輸出,馬上滿分。

[code]\color{blue}{\texttt{[code]}}

在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章