diff --git a/md/0029.md b/md/0029.md new file mode 100644 index 0000000..2d1a25e --- /dev/null +++ b/md/0029.md @@ -0,0 +1,18 @@ +ถ้ากบกระโดดเป็นระยะทางครั้งละ $X$ หน่วยไปยังจุดหมายที่ห่างออกไป $Y$ หน่วย จะมีความเป็นไปได้ 2 กรณีหลัก ๆ +1. ถ้า $X > Y$ กบจะต้องกระโดด $2$ ครั้งเพื่อไปยังจุดหมาย ตามรูป +2. ถ้า $X \le Y$ กบจะสามารถกระโดด $\left\lceil \frac{Y}{X} \right\rceil - 2$ ครั้งไปในทิศทางของ $Y$ และกระโดดอีกกระโดดอีก 2 ครั้งเพื่อไปให้ถึงจุดหมายได้เสมอเนื่องจากระยะห่างที่เหลือในการกระโดดสองครั้งสุดท้ายจะน้อยกว่า $2 \cdot X$ + +![](../media/0029/jump.png) + +```cpp +#include +using namespace std; + +int main () { + int x, y; + cin >> x >> y; + if (x > y) cout << "2\n"; + else cout << (y + x - 1) / x << "\n"; + return 0; +} +``` diff --git a/media/0029/jump.png b/media/0029/jump.png new file mode 100644 index 0000000..33ecf5b Binary files /dev/null and b/media/0029/jump.png differ