การจัดการสินค้าคงคลัง Minecraft เป็นเรื่องยาก คุณมี 17 เพชร แต่คุณต้องมี 7 เพื่อสร้างตารางเสริมเสน่ห์, เสียมและดาบ คุณหยิบมันขึ้นมาแล้วคลิกขวา 7 ครั้ง? หรือคุณคลิกขวาหนึ่งครั้งและคลิกขวาสองครั้งแล้วเลี้ยวซ้าย 7 ครั้ง? มันช่างสับสนจริงๆ!
สำหรับบรรดาของคุณที่กำลังสับสนไม่ต้องกังวลฉันจะอธิบายทั้งหมดในไม่กี่วินาที
ท้าทาย
กำหนดขนาดของสแต็คของรายการและจำนวนที่ต้องการกำหนดจำนวนคลิกน้อยที่สุดเพื่อให้ได้จำนวนนั้น คุณต้องจัดการได้ถึง 64 สำหรับอินพุตทั้งสองและคุณอาจคิดว่าคุณมีช่องโฆษณาที่ไม่มีที่สิ้นสุด คุณไม่สามารถใช้เคล็ดลับลากเพื่อกระจาย
คำนิยาม
สินค้าคงคลังเป็นคอลเลกชันของช่องที่คุณสามารถจัดเก็บรายการ
สล็อตเป็นพื้นที่จัดเก็บในคลังของคุณที่คุณสามารถวางได้ถึงหนึ่งในประเภทของรายการ
สแต็คเป็นจำนวนรายการที่วางอยู่ในกลุ่มเดียวกัน สำหรับจุดประสงค์ของการท้าทายสแต็กนั้นเป็นเพียงไอเท็มจำนวนมากในที่เดียวกัน (ดังนั้นอย่าสนใจขนาดสแต็ก)
เคอร์เซอร์เป็น thingy แหลมของคุณ เคอร์เซอร์นั่น มันสามารถมีรายการ "กับมัน"; กล่าวอีกนัยหนึ่งถ้าคุณคลิกที่ช่องแล้วหยิบรายการรายการที่คุณเลือกคือ "ที่เคอร์เซอร์" จนกว่าคุณจะวางลง
ข้อมูลจำเพาะ
มีสี่สถานการณ์ที่เป็นไปได้ ไม่ว่าคุณจะมีรายการบนเคอร์เซอร์หรือไม่และคุณคลิกซ้ายหรือคลิกขวา
หากคุณไม่มีรายการที่เคอร์เซอร์ของคุณและคุณคลิกซ้ายที่ช่องคุณจะได้รับสแต็กทั้งหมด
หากคุณไม่มีรายการที่เคอร์เซอร์ของคุณและคุณคลิกขวาที่ช่องคุณจะได้ครึ่งหนึ่งของกองซ้อนปัดเศษขึ้น
หากคุณมีรายการที่เคอร์เซอร์ของคุณและคุณคลิกซ้ายที่ช่องคุณวางรายการทั้งหมดลงในช่องนั้น (สำหรับผู้เล่น Minecraft ทุกคนคุณจะไม่มี> 64 รายการสำหรับความท้าทายนี้และพวกเขาทั้งหมด 64- ซ้อนกันได้และคุณมีเพียงประเภทเดียวดังนั้นการสลับไอเท็มจะไม่สามารถใช้ได้ที่นี่)
หากคุณมีรายการที่เคอร์เซอร์ของคุณและคุณคลิกขวาที่ช่องคุณวางรายการหนึ่งลงในช่องที่
ดังนั้นคุณเริ่มต้นด้วยรายการทั้งหมดที่ได้รับ (อินพุตแรกหรือวินาทีคุณสามารถเลือกคำสั่งซื้อ) ในช่องและคุณต้องการจบด้วยจำนวนที่ต้องการ (อินพุตอื่น) ในเคอร์เซอร์ของคุณ
ลองทำตัวอย่าง สมมติว่าคุณเริ่มต้นด้วย 17 รายการและคุณต้องการ 7. ก่อนอื่นคุณคลิกขวาบนสแต็กซึ่งหมายความว่าคุณได้รับ 9 และมี 8 ในช่องนั้น จากนั้นถ้าคุณคลิกขวาบนสแต็กอีกครั้งคุณวางหนึ่งไอเท็มกลับเข้าไปในช่องทำให้คุณมี 8 และช่องที่มี 9 ในที่สุดคุณคลิกขวาอีกครั้งและคุณมี 7 และช่องมี 10 ดังนั้น คุณจะกลับมา3
(จำนวนคลิก)
หากคุณจัดการเพื่อออกคลิกกอล์ฟฉันโปรดบอกฉันและฉันจะแก้ไขตัวอย่าง: P
กรณีทดสอบ
สิ่งเหล่านี้สร้างขึ้นเองดังนั้นโปรดบอกฉันว่ามีข้อผิดพลาดใด ๆ หรือไม่ ฉันจัดการสินค้าคงคลังด้วยการคลิกที่กระวนกระวายใจคลิกขวาดังนั้นฉันจึงไม่มีประสบการณ์ในการจัดการสินค้าคงคลังที่ดีที่สุด: P
Given, Desired -> Output
17, 7 -> 3
64, 8 -> 5
63, 8 -> 5
10, 10 -> 1
10, 0 -> 0 # note this case
25, 17 -> 7
คำอธิบาย
ความท้าทายนี้อาจเป็นเรื่องยากสำหรับผู้เล่นที่ไม่ใช่ Minecraft ผมไม่มีความคิด นี่คือคำอธิบายบางอย่าง
64, 8 -> 5
เนื่องจากคุณรับ 32 โดยใช้คลิกขวาวางลงหยิบ 16 วางลงแล้วหยิบ 8
63, 8 -> 5
ด้วยเหตุผลเดียวกัน
25, 17 -> 7
เนื่องจากคุณรับ 13 วางลงหยิบ 6 จากซ้าย 12 วาง 2 กลับเข้าไปในสแต็กที่เหลือจากนั้นวาง 4 ในเคอร์เซอร์ลงใน 13 แล้วเลือกที่ขึ้น
กฎระเบียบ
- ช่องโหว่มาตรฐานใช้
- คุณอาจคิดว่า
0 <= desired <= given <= 64
- คุณสามารถป้อนข้อมูลตามลำดับและทำ I / O ในรูปแบบที่เหมาะสม
0,[n]
อาจเปลี่ยน (1) จาก0,[a,b,...]
การa,[b,...]
, b,[a,...]
, ceil(a/2),[floor(a/2),b,...]
หรือceil(b/2),[a,floor(b/2),...]
; หรือ (2) จากx,[a,b,...]
( x>0
) เพื่อx-1,[a+1,b,...]
, x-1,[a,b+1,...]
, x-1,[a,b,...,1]
, 0,[a+x,b,...]
, ,0,[a,b+x,...]
0,[a,b,...,x]
ความท้าทายคือแล้วเพื่อหาสิ่งที่เปลี่ยนไปได้น้อยจาก0,[g]
ที่กรัมให้กับt,L
ที่t
เป็นเป้าหมายที่ต้องการและL
เป็นรายการใด ๆ