Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

add 0015.md #163

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
30 changes: 30 additions & 0 deletions md/0015.md
Original file line number Diff line number Diff line change
@@ -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 <stdio.h>

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;
}