From 6e7dedc6b799cebc38d633703ecb1c2cbdc89cbb Mon Sep 17 00:00:00 2001 From: kittipong-dev Date: Thu, 26 Sep 2024 22:45:56 +0700 Subject: [PATCH] add 0015.md --- md/0015.md | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 md/0015.md diff --git a/md/0015.md b/md/0015.md new file mode 100644 index 0000000..91f8994 --- /dev/null +++ b/md/0015.md @@ -0,0 +1,30 @@ +ในทะเลทรายแห่งหนึ่ง มีจิงโจ้ 3 ตัวกำลังเล่นบนเส้นจำนวน (จำนวนเต็ม) โดยแต่ละตัวจะอยู่ในตำแหน่งที่แตกต่างกัน จุดประสงค์ของปัญหานี้คือการหาจำนวนครั้งที่จิงโจ้สามารถกระโดดได้มากที่สุดก่อนที่เกมจะจบลง โดยจิงโจ้แต่ละตัวสามารถกระโดดเข้าไปในตำแหน่งที่อยู่ระหว่างจิงโจ้ตัวอื่น และจะไม่มีการกระโดดไปอยู่ในตำแหน่งที่เดียวกัน + +เราสามารถหาจำนวนครั้งที่จิงโจ้สามารถกระโดดได้โดยการคำนวณช่องว่างระหว่างจิงโจ้ แทนการวนลูปไปเรื่อยๆ โดยเราสามารถหาช่องว่างระหว่างจิงโจ้ได้ดังนี้: +- กำหนดให้ ( A ), ( B ), และ ( C ) เป็นตำแหน่งของจิงโจ้ทั้งสามตัว +- ช่องว่างระหว่าง ( A ) และ ( B ) จะถูกคำนวณด้วย ( gap1 = B - A - 1 ) +- ช่องว่างระหว่าง ( B ) และ ( C ) จะถูกคำนวณด้วย ( gap2 = C - B - 1 ) + +ในกรณีที่ ( gap2 ) มีค่ามากกว่า ( gap1 ) จิงโจ้สามารถกระโดดได้จำนวนครั้งที่เป็นไปได้สูงสุดคือ ( gap2 ) แต่ถ้าหาก ( gap1 ) มีค่ามากกว่า ( gap2 ) ก็จะมีจำนวนครั้งที่มากที่สุดคือ ( gap1 ) + +```c +#include + +int main () { + int a, b, c; + int gap1; + int gap2; + + scanf("%d %d %d", &a, &b, &c); + + gap1 = b - a - 1; + gap2 = c - b - 1; + + if (gap2 > gap1) { + printf("%d", gap2); + } else { + printf("%d", gap1); + } + + return 0; +}