แรงบันดาลใจจาก/puzzling//q/626
ในการผจญภัยของคุณคุณมาถึงสะพาน 7 ชุดที่คุณต้องข้าม ใต้สะพานแต่ละแห่งมีชีวิตอยู่หมุนรอบ ในการข้ามสะพานคุณต้องให้เค้กจำนวนหมุนรอบก่อนเป็นเปอร์เซ็นต์ของจำนวนเค้กที่คุณถือ เพราะนี่เป็นโทรลล์ที่ใจดีพวกเขาจะมอบเค้กให้คุณจำนวนหนึ่ง
ในช่วงเริ่มต้นของแต่ละวันกษัตริย์โทรลล์ท้องถิ่นกำหนดภาษีเค้กร้อยละที่นักท่องเที่ยวแต่ละคนต้องจ่ายและคืนเงินเค้กโทรลล์ - จำนวนเค้กที่แต่ละรอบหมุนรอบจะต้องคืนให้แก่นักเดินทาง
งานของคุณคือการคำนวณจำนวนขั้นต่ำของเค้กที่จำเป็นในการผ่านสะพานหมุนรอบทั้ง 7 อันสำหรับเงื่อนไขที่กำหนดในวันนั้น
สมมติ:
- พารามิเตอร์ป้อนเข้าสองรายการ: ภาษีเค้กเปอร์เซนต์ (จำนวนเต็มตั้งแต่ 0 ถึง 100) และการคืนเงินเค้กหมุนรอบ
- ไม่มีใครเลยแม้แต่โทรลล์ต้องการเค้กที่กินโดยหมุนรอบอีกบางส่วน หากคุณเหลือเค้กเพียงเล็กน้อย
- หากโทรลล์ยอมรับภาษีเค้ก แต่ต้องให้เค้กคืนให้คุณ (เหลือเค้กที่เท่าเดิมหรือน้อยกว่าเดิม) มันจะโกรธและกินคุณและเค้กของคุณ
- ทุกรอบหมุนรอบจะต้องเก็บเค้กที่สมบูรณ์ไว้อย่างน้อยหนึ่งก้อน
- คุณสามารถพกเค้กได้สูงสุด 100 เค้ก
- คุณต้องสิ้นสุดวันที่คุณอยู่ในปัจจุบันหรือที่อีกฝั่งหนึ่งของสะพานทั้ง 7 แห่ง
ท้าทาย:
เขียนโปรแกรมที่สมบูรณ์เพื่อแสดงจำนวนเค้กขั้นต่ำที่จะเดินทางในวันหรือศูนย์ปัจจุบันหากไม่สามารถเดินทางได้อย่างปลอดภัยในวันนี้ - คุณจะรอดูว่าตัวเลขนั้นคืออะไรในวันพรุ่งนี้
อินพุตควรถูกส่งผ่านเป็น stdin, อาร์กิวเมนต์บรรทัดคำสั่งหรืออินพุตไฟล์
รหัสที่สั้นที่สุด (จำนวนไบต์) ชนะ
ตัวอย่าง:
ภาษีเค้ก 25% เค้กคืนเงิน 2 รอบ
เริ่มต้นด้วย 19 เค้ก
ก่อนหมุนรอบ 1: (19 * 0.75) = 14.25
หลังจากหมุนรอบ 1: (14 + 2) = 16
ก่อนหมุนรอบ 2: (16 * 0.75) = 12
หลังจากหมุนรอบ 2: (12 + 2) = 14
เป็นต้น
19 เค้ก -> 16 -> 14 -> 12 -> 11 -> 10 -> 9 -> 8
18 เค้ก -> 15 -> 13 -> 11 -> 11 -> 10 -> 8 -> 8 (กฎ 3)
สำหรับ 18 เค้กหมุนรอบสุดท้ายจะไม่ได้เก็บเค้กใด ๆ ดังนั้นจำนวนเค้กขั้นต่ำสำหรับ 25% / 2 วันคือ 19
input: 25 2
output: 19
ตัวอย่างที่ 2:
ภาษีเค้ก 90%, 1 คืนเค้กหมุนรอบ
100 เค้ก -> 11 -> 2 -> 1 (กฎ 4)
หมุนรอบที่สามไม่ได้เก็บเค้กใด ๆ ดังนั้นจึงเป็นไปไม่ได้ที่จะเดินทางใน 90% / 1 วันแม้จะเริ่มต้นด้วยจำนวนเค้กสูงสุด
input: 90 1
output: 0
ข้อมูล
จัดทำกราฟอย่างรวดเร็วของค่าอินพุตและเอาต์พุต ฉันประหลาดใจที่นี่ไม่ได้ "ราบรื่น" (เหมือนเส้นโค้งของระฆังหรือคล้ายกัน); มีหมู่เกาะที่เห็นได้ชัดเจนหลายแห่ง

ข้อมูลสำหรับผู้ที่สนใจ คอลัมน์ถูกแบ่งออกเป็นช่วง 5% แถวคือหน่วยของช่วงเวลาการคืนเงินเค้ก 1 ครั้ง (excel หมุนภาพ) คุณสามารถดูได้ว่ามีการคืนเงินไม่เกิน 28 เค้ก
27, 17, 13, 14, 15, 18, 20, 24, 53, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
47, 27, 20, 19, 19, 19, 24, 39, 48, 68, 100, 0, 0, 0, 0, 0, 0, 0, 0, 0
67, 37, 28, 24, 23, 28, 27, 29, 50, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
87, 47, 33, 29, 27, 28, 31, 44, 37, 72, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
0, 57, 40, 34, 31, 29, 34, 34, 62, 74, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 67, 48, 39, 35, 38, 37, 49, 57, 76, 92, 0, 0, 0, 0, 0, 0, 0, 0, 0
0, 77, 53, 44, 39, 38, 47, 39, 59, 78, 94, 0, 0, 0, 0, 0, 0, 0, 0, 0
0, 87, 60, 49, 43, 39, 40, 54, 46, 80, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
0, 97, 68, 54, 47, 48, 44, 44, 71, 82, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
0, 0, 73, 59, 51, 48, 47, 59, 73, 84, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
0, 0, 80, 64, 55, 49, 51, 49, 68, 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
0, 0, 88, 69, 59, 58, 54, 64, 70, 88, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
0, 0, 93, 74, 63, 58, 57, 54, 57, 90, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
0, 0, 100, 79, 67, 59, 67, 69, 82, 92, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
0, 0, 0, 84, 71, 68, 60, 59, 77, 94, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
0, 0, 0, 89, 75, 68, 64, 74, 79, 96, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
0, 0, 0, 94, 79, 69, 67, 64, 66, 98, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
0, 0, 0, 99, 83, 78, 71, 79, 91, 100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
0, 0, 0, 0, 87, 78, 74, 69, 93, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
0, 0, 0, 0, 91, 79, 77, 84, 88, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
0, 0, 0, 0, 95, 88, 87, 74, 90, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
0, 0, 0, 0, 99, 88, 80, 89, 77, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
0, 0, 0, 0, 0, 89, 84, 79, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
0, 0, 0, 0, 0, 98, 87, 94, 97, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
0, 0, 0, 0, 0, 98, 91, 84, 99, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
0, 0, 0, 0, 0, 99, 94, 99, 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
0, 0, 0, 0, 0, 0, 97, 89, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
25 2กรณีเค้ก 11 ชิ้นคุณให้เค้กโทรลล์ 2.75 และได้รับ 2 กลับดังนั้นโทรลล์จะเก็บค่า. 75 (+ 25) และคุณเอาตัวรอด ใน90 1กรณีเค้ก 2 ใบคุณให้ค่าโทรลล์ 1.8 และได้รับ 1 คืนดังนั้นโทรลล์จะเก็บ. 8 (+. 2) แต่คุณตาย