คำถามติดแท็ก packing

สำหรับความท้าทายเกี่ยวกับการปรับรูปร่างให้เข้ากับรูปร่างอื่น ๆ จำนวนมากที่สุดหรือสำหรับการบรรจุรูปร่างจำนวนหนึ่งให้เป็นรูปทรงที่กะทัดรัดที่สุด

6
ทำคะแนนเส้นทางการแกว่งเถาไวน์ของทาร์ซาน
เถาองุ่นโอลิมปิกดำเนินการตามปกติในต้นไม้มาตรฐาน โดยเฉพาะอย่างยิ่งแผนภูมิมาตรฐานnมีจุดยอดสำหรับการ0ขึ้นn-1และขอบการเชื่อมโยงจุดยอดที่ไม่ใช่ศูนย์แต่ละจุดaกับจุดยอดn % aด้านล่าง ตัวอย่างเช่นต้นไม้มาตรฐาน 5 มีลักษณะดังนี้: 3 | 2 4 \ / 1 | 0 เนื่องจากส่วนที่เหลือเมื่อ 5 ถูกหารด้วย 3 คือ 2 ส่วนที่เหลือเมื่อ 5 ถูกหารด้วย 2 หรือ 4 คือ 1 และส่วนที่เหลือเมื่อ 5 ถูกหารด้วย 1 คือ 0 ในปีนี้ทาร์ซานจะได้รับการปกป้องทองของเขากับการปฏิบัติใหม่ซึ่งแต่ละเริ่มต้นที่ยอดn - 1ชิงช้าจุดสุดยอดn - 2ยังคงจุดสุดยอดn - 3ฯลฯ 0จนในที่สุดเขาปลดจุดสุดยอด คะแนนสำหรับกิจวัตรประจำวันคือผลรวมของคะแนนสำหรับการสวิงแต่ละครั้ง (รวมถึงการลงจากหลังม้า) และคะแนนสำหรับการสวิงคือระยะทางภายในต้นไม้ระหว่างจุดเริ่มต้นและจุดสิ้นสุด ดังนั้นรูทีนของทาร์ซานบนต้นไม้มาตรฐาน 5 มีคะแนน …
32 code-golf  math  number  number-theory  code-golf  code-golf  restricted-source  programming-puzzle  css  code-golf  parsing  code-golf  random  encryption  code-golf  ascii-art  fractal  code-golf  math  code-golf  sorting  graph-theory  path-finding  permutations  code-golf  tetris  code-golf  card-games  code-golf  math  sequence  rational-numbers  code-golf  chess  code-golf  string  geometry  grid  code-golf  ascii-art  grid  code-golf  sequence  integer  code-golf  math  number-theory  packing  polyomino  code-golf  math  code-golf  string  quine  permutations  code-golf  math  code-golf  image-processing  optical-char-recognition  code-golf  string  kolmogorov-complexity  sequence  integer  code-golf  number  permutations  palindrome  code-golf  kolmogorov-complexity  code-golf  number  sequence  string  fewest-operations  code-golf  string  kolmogorov-complexity  sequence  primes  code-golf  string  ascii-art  code-golf  string  number  alphabet  code-golf  counting  code-golf  number  sequence  number-theory  primes  code-golf  subsequence  word-search 

19
ชั้นหนังสือ ASCII
คุณรู้ว่าชั้นวางซ้อนกันได้ที่โดยทั่วไปเป็นเพียงกล่องไม้ที่สามารถซ้อนกัน? เราจะจำลองการสร้างชั้นหนังสือบางส่วนด้วยศิลปะ ASCII หนังสือของเรามีทุกสิ่งอำนวยความสะดวกในเครื่องแบบขนาดและรูปลักษณ์ทั้งหมดเช่นต่อไปนี้: |X| |X| |X| ชั้นวางหนังสือกล่องแต่ละเสมอสามตัวสูงภายใน (พอที่จะใส่หนังสือยืนตรง) ประกอบด้วย|ตัวอักษรด้านซ้ายและขวา-ตัวอักษรด้านบนและด้านล่างและกว้างพอที่จะพอดีกับXหนังสือ (ที่Xเป็นอินพุท จำนวนเต็ม). ตัวอย่างเช่นนี่คือชั้นวางหนังสือที่มีขนาด3: |---------| | | | | | | |---------| เพราะคุณสามารถใส่3หนังสือลงไปได้อย่างนั้น |---------| ||X||X||X|| ||X||X||X|| ||X||X||X|| |---------| ค่าอินพุทจะเป็นจำนวนเต็มบวกสองตัวXและYที่Xความกว้างของชั้นวางที่เรามี (วัดในหนังสือ) และYจำนวนหนังสือที่เราต้องกองซ้อน หากเรามีหนังสือมากกว่าที่วางในชั้นเดียวเราจำเป็นต้องเพิ่มชั้นวางเพิ่มเติมไปด้านบน ตัวอย่างเช่นนี่คืออินพุต4 wide / 6 books: |------------| ||X||X| | ||X||X| | ||X||X| | |------------| |------------| ||X||X||X||X|| ||X||X||X||X|| ||X||X||X||X|| |------------| หากY …

3
สามเหลี่ยมพีทาโกรัสซ้อนกัน
พื้นหลัง สามเหลี่ยมพีทาโกรัสเป็นสามเหลี่ยมมุมฉากโดยที่ความยาวด้านแต่ละด้านเป็นจำนวนเต็ม (นั่นคือความยาวด้านข้างเป็นรูปแบบพีทาโกรัสสาม ): การใช้ด้านข้างของสามเหลี่ยมนี้เราสามารถแนบสามเหลี่ยมพีทาโกรัสที่ไม่สอดคล้องกันอีกสองรูปแบบดังนี้: เราสามารถสานต่อรูปแบบนี้ได้ตามที่เห็นสมควรตราบใดที่ไม่มีสามเหลี่ยมสองรูปซ้อนทับกันและด้านที่เชื่อมต่อมีความยาวเท่ากัน: คำถามคือมีสามเหลี่ยมพีทาโกรัสที่ไม่สอดคล้องกันกี่ตัวที่เราสามารถใส่ลงในพื้นที่ที่กำหนดได้? การป้อนข้อมูล คุณจะได้รับจำนวนเต็มสองจำนวนเป็นอินพุตWและHผ่านอาร์กิวเมนต์ของฟังก์ชัน STDIN สตริงหรืออะไรก็ได้ที่คุณชอบ จำนวนเต็มอาจได้รับเป็นทศนิยมเลขฐานสิบหกไบนารีไบนารีเอก (โชคดีเรตินา ) หรือฐานจำนวนเต็มอื่น ๆ max(W, H) <= 2^15 - 1คุณอาจจะคิดว่า ผลลัพธ์ โปรแกรมหรือฟังก์ชั่นของคุณควรคำนวณรายการของสามเหลี่ยมพิทาโกรัสที่ไม่เชื่อมโยงกันที่ไม่ทับซ้อนกันและแสดงรายการของชุดของพิกัดสามพิกัดแต่ละอัน พิกัดต้องเป็นตัวเลขจริงในอวกาศของเรา ( xต้องอยู่ในช่วงเวลา[0, W]และyต้องอยู่ในช่วงเวลา[0, H]) และระยะทางควรแม่นยำกับความแม่นยำของเครื่อง ลำดับของรูปสามเหลี่ยมและรูปแบบที่แน่นอนของแต่ละพิกัดไม่สำคัญ ต้องเป็นไปได้ที่จะ "เดิน" จากสามเหลี่ยมหนึ่งไปยังอีกก้าวเดียวที่ข้ามขอบเขตที่เชื่อมโยงกัน การใช้แผนภาพข้างต้นเป็นตัวอย่างให้การป้อนข้อมูลของเรา,W = 60H = 60 ผลลัพธ์ของเราอาจเป็นรายการของพิกัดต่อไปนี้: (0, 15), (0, 21), (8, 15) (0, 21), (14.4, 40.2), …

1
กลุ่มบรรจุภัณฑ์
ลองดูที่ภาพนี้ โดยเฉพาะอย่างยิ่งวิธีการจัดหลุมที่ปลาย ( แหล่งรูปภาพ ) สังเกตว่าท่อในภาพนี้บรรจุในรูปแบบหกเหลี่ยมได้อย่างไร เป็นที่ทราบกันดีว่าใน 2 มิติโครงตาข่ายหกเหลี่ยมนั้นเป็นที่บรรจุวงกลมที่หนาแน่นที่สุด ในความท้าทายนี้เราจะมุ่งเน้นไปที่การลดขอบเขตของวงกลมให้เหลือน้อยที่สุด วิธีหนึ่งที่มีประโยชน์ในการมองเห็นเส้นรอบนอกคือการจินตนาการให้ใส่ยางรัดรอบคอลเลกชันของวงกลม งาน รับค่าnเป็นจำนวนเต็มบวกเป็นอินพุตแสดงชุดของnวงกลมที่อัดแน่นที่สุด กฎและคำชี้แจง สมมติว่าวงกลมมีเส้นผ่านศูนย์กลาง 1 หน่วย ตัวแปรที่จะย่อเล็กสุดคือความยาวของเส้นรอบวงซึ่งถูกกำหนดให้เป็นฮัลล์นูนของกึ่งกลางของวงกลมในกลุ่ม ดูรูปนี้: วงกลมสามวงในแนวเส้นตรงมีเส้นรอบวงของ 4 (ตัวเรือนูนเป็นสี่เหลี่ยมผืนผ้า 2x0 และ 2 นับเป็นสองเท่า) ที่จัดเรียงในมุม 120 องศาจะมีเส้นรอบวงประมาณ 3.85 และสามเหลี่ยมมีเส้นรอบวง เพียง 3 หน่วย โปรดทราบว่าฉันไม่สนใจหน่วย pi เพิ่มเติมที่ขอบเขตปริมณฑลที่แท้จริงจะเป็นเพราะฉันแค่ดูที่ศูนย์กลางของวงกลมไม่ใช่ขอบของพวกเขา อาจมี (และเกือบจะแน่นอนจะ) nการแก้ปัญหาหลายสำหรับการใดก็ตาม คุณสามารถส่งออกสิ่งเหล่านี้ตามดุลยพินิจของคุณ การวางแนวไม่สำคัญ วงกลมจะต้องอยู่บนโครงตาข่ายหกเหลี่ยม วงกลมต้องมีเส้นผ่านศูนย์กลางอย่างน้อย 10 พิกเซลและอาจมีการเติมได้หรือไม่ คุณสามารถเขียนโปรแกรมหรือฟังก์ชั่น อินพุตอาจถูกใช้ผ่าน STDIN เป็นอาร์กิวเมนต์ฟังก์ชันหรือเทียบเท่าที่ใกล้เคียงที่สุด …

2
การยกเว้นแมนฮัตตันกรณีที่เลวร้ายที่สุด
ลองนึกภาพตารางWโดยHของสี่เหลี่ยมที่ล้อมรอบด้วยวงแหวน รายการจะถูกวางลงบนตารางดังนี้ รายการแรกที่สามารถวางบนตารางใด ๆ แต่รายการที่ตามมาจะต้องไม่เป็นภายในระยะแมนฮัตตัน Rของรายการใด ๆ ก่อนหน้า (ยังเป็นที่รู้จักกันเป็นย่าน Von Neumann ของช่วงR ) การเลือกตำแหน่งอย่างระมัดระวังช่วยให้การติดตั้งรายการจำนวนมากเข้ากับกริดก่อนที่จะไม่มีตำแหน่งที่ถูกต้องอีกต่อไป อย่างไรก็ตามให้พิจารณาถึงเป้าหมายตรงกันข้าม: จำนวนไอเท็มที่ต่ำที่สุดที่สามารถวางและไม่อยู่ในตำแหน่งที่ถูกต้องคืออะไร? นี่คือโซนการยกเว้นรัศมี 5: นี่คือโซนยกเว้นรัศมี 5 อีกครั้งคราวนี้อยู่ใกล้กับขอบเพื่อให้เห็นพฤติกรรมการห่อที่ชัดเจน: อินพุต สามจำนวนเต็ม: W : ความกว้างของกริด (จำนวนเต็มบวก) H : ความสูงของกริด (จำนวนเต็มบวก) R : รัศมีของเขตการยกเว้น (จำนวนเต็มไม่เป็นลบ) เอาท์พุต จำนวนเต็มNซึ่งเป็นจำนวนไอเท็มที่เล็กที่สุดที่สามารถวางเพื่อป้องกันตำแหน่งที่ถูกต้องเพิ่มเติม รายละเอียด รัศมีศูนย์ให้เขตการยกเว้น 1 สี่เหลี่ยมจัตุรัส (หนึ่งรายการที่ถูกวางบน) รัศมีของ N ไม่รวมถึงโซนที่สามารถเข้าถึงได้ในขั้นตอน N orthogonal (จำได้ว่าขอบห่อ toroidally) รหัสของคุณจะต้องใช้กับตัวพิมพ์เล็ก …

2
ค้นหาพื้นที่ของสี่เหลี่ยมที่เล็กที่สุดที่จะมีสี่เหลี่ยมที่มีขนาดไม่เกิน n
นี่คือคำถามที่ลำดับของชนิดที่ปกตินำไปใช้เป็นOEIS ลำดับ A038666 นั่นคือทำอย่างใดอย่างหนึ่งต่อไปนี้: ยอมรับว่าไม่มีสิ่งใดป้อนเข้าและเอาท์พุท A038666 จนกว่าความร้อนจากจักรวาลจะตาย ยอมรับเป็นจำนวนเต็มบวกเป็นอินพุตและเอาต์พุตระยะเวลาของ A038666 TH หรือครั้งแรกแง่ (ถ้าใช้ - แทนที่จะเป็น -exexing แน่นอนว่าคุณต้องเอาท์พุทด้วยอินพุต)nnnnnn00011110 คำที่ของ A038666 เป็นพื้นที่ที่น้อยที่สุดในบรรดาสี่เหลี่ยมที่มีสี่เหลี่ยมที่ไม่ทับซ้อนกันของขนาดถ้าคุณใช้ -exexingnnn1 × 1 , 2 × 2 , … n × n1×1,2×2,…n×n1\times1,2\times2,\dots n\times n111 ตัวอย่าง: สี่เหลี่ยมผืนผ้าพื้นที่ที่เล็กที่สุดซึ่งสามารถมีสี่เหลี่ยมที่ไม่ซ้อนทับกันของขนาดถึงมีขนาด :1 × 11×11\times14 × 44×44\times47 × 57×57\times5 4 4 4 4 3 3 3 4 …

4
บรรจุไม้ชิ้น
มีไม้สองชิ้น ทั้งสองประกอบด้วยตัวตรงและบล็อคเสริมบางส่วนใต้ร่างกาย ตัวอย่างชิ้นส่วนที่มีบล็อกเพิ่มเติมที่ตำแหน่ง (0 ที่จัดทำดัชนีไว้) ตำแหน่ง 0,4,7,9,10: XXXXXXXXXXX X X X XX ชิ้นส่วนสามารถแสดงเป็น01ลำดับเลขฐานสองที่มีiอักขระ th แสดงว่ามีบล็อกที่iตำแหน่ง th 10001001011ตัวอย่างด้านบนสามารถแสดงเป็น เราสามารถรวมสองชิ้นเข้าด้วยกันโดยการพลิกชิ้นที่สองในแนวตั้ง (และอาจพลิกในแนวนอนด้วย) หลังจากการพลิกเราสามารถหาการจัดตำแหน่งที่สามารถรวมสองชิ้นเข้าด้วยกันเพื่อให้มีความสูง 3 Two example pieces: XXXXXXXXXXX XXXXXXXX X X X XX XXX Second piece flipped vertically and horizontally: XXXXXXXXXXX X X X XX XXX XXXXXXXX Pieces put together: XXXXXXXXXXX XXXXX X …

1
ค้นหาสมมาตรในกำลังสอง
เขียนโปรแกรมหรือฟังก์ชั่นที่ใช้ในรายการจำนวนเต็มบวก จำนวนเต็มแต่ละจำนวนเหล่านี้แสดงความยาวด้านของสี่เหลี่ยมจัตุรัสบนระนาบ 2D แต่ละสี่เหลี่ยมสามารถเคลื่อนย้ายไปยังพิกัดจำนวนเต็มใด ๆ ในระนาบ แต่มันไม่สามารถหมุนได้และไม่สามารถซ้อนทับสี่เหลี่ยมอื่น ๆ ได้ การใช้อักขระ ASCII ที่พิมพ์ได้ที่แตกต่างกันสำหรับแต่ละตาราง (ไม่รวมพื้นที่ซึ่งใช้สำหรับความว่างเปล่า) โปรแกรม / ฟังก์ชันของคุณจำเป็นต้องพิมพ์การจัดเรียงสี่เหลี่ยมจัตุรัสใด ๆ ที่มีเส้นแนวนอนหรือแนวตั้งของสมมาตรสะท้อน หากไม่มีข้อตกลงดังกล่าวอยู่ก็ไม่ควรพิมพ์สิ่งใด สี่เหลี่ยมเป็นตัวละครที่แตกต่างกันเพื่อให้พวกเขาสามารถแยกออกจากกัน เฉพาะรูปร่างที่ทำโดยสหภาพของสี่เหลี่ยมทั้งหมดจะต้องมีความสมมาตร คุณสามารถสันนิษฐานได้ว่ารายการจะไม่มีองค์ประกอบมากกว่า 94 องค์ประกอบ (เนื่องจากมี 94 ตัวอักษร) ตัวอย่างเช่นถ้าอินพุต[2, 1, 2, 2, 2]เป็นเอาต์พุตที่เป็นไปได้คือ: DD-- DD-- Z FFPP FFPP รูปร่างนี้มีเส้นแนวนอนของสมมาตรการสะท้อนแสง ครึ่งบนและล่างของมันเป็นภาพสะท้อน นี่คือความเป็นไปได้อื่น ๆ : (โปรดทราบว่าช่องสี่เหลี่ยมไม่จำเป็นต้องสัมผัสและสามารถใช้อักขระใด ๆ ได้ตราบใดที่ไม่มีช่องสี่เหลี่ยมสองช่องที่สร้างด้วยอักขระตัวเดียวกัน) 55 55 %% %% @ …

1
Robot roadie จำเป็นต้องบรรจุรถบรรทุก
ในฐานะที่เป็น Roadie ของวงคุณต้องเก็บรถบรรทุก โปรแกรมของคุณจะวางแพ็คเกจเพื่อให้พอดีกับความสูงที่เล็กที่สุด รถบรรทุกที่บรรจุไม่ดี กฎระเบียบ แพคเกจอาจหมุนได้หลายรายการ 90 องศา แพคเกจอาจสัมผัส แต่ต้องไม่ทับซ้อนกัน เอาต์พุตเป็นอิมเมจที่บรรจุใหม่ (ไปยังไฟล์หรือ stdout) โปรแกรมของคุณอาจใช้รูปแบบภาพแรสเตอร์อินพุตหรือเอาท์พุต โปรแกรมของคุณต้องยอมรับแพคเกจรูปทรงต่าง ๆ จำนวนไม่เกิน 4,000x4000 พิกเซล ต้องไม่ฮาร์ดโค้ดสำหรับภาพทดสอบนี้ หากฉันสงสัยว่าการส่งใด ๆ จะถูกปรับให้เข้ากับภาพเฉพาะนี้ฉันขอสงวนสิทธิ์ในการแทนที่ด้วยภาพทดสอบใหม่ คะแนน คะแนนของคุณคือความสูงที่เล็กที่สุดของสี่เหลี่ยมที่จะมีการจัดเรียงของคุณ (ความกว้างคือความกว้างของสี่เหลี่ยมที่ป้อนเข้า) ในกรณีที่เสมอกันการเข้าเร็วที่สุดชนะ ช่องโหว่มาตรฐานเป็นสิ่งต้องห้ามตามปกติ

1
เกมเตตริส
บทนำ Tangramsเป็นเกมปริศนาคลาสสิกที่เกี่ยวข้องกับการจัดเรียง / การติดตั้งบล็อคให้เป็นรูปทรงต่างๆ จากภาษาจีน七巧板 - ความหมายแท้จริง "กระดานเจ็ดทักษะ" ลองใช้ความคิดนี้และใช้Tetrominosเจ็ดตัวเพื่อเติมกริด ท้าทาย เขียนฟังก์ชั่นหรือโปรแกรมที่ใช้อาร์เรย์ของพิกัดกริดเป็นอินพุตและส่งออกตาราง 10 เต็ม 20 โดยเต็มไปด้วยชิ้น Tetris ยกเว้นในพิกัดที่ระบุ เพิ่มประสิทธิภาพคะแนนของคุณโดยพยายามที่จะให้การกระจายของชิ้นส่วนที่เหมือนกัน เกณฑ์ ใช้พิกัดpastebin นี้เพื่อให้งานของคุณสำเร็จ มีพิกัดห้าชุด อย่าลังเลที่จะปรับเปลี่ยนรูปแบบที่พิกัดถูกเขียน แต่ไม่ใช่ค่า ชุดข้อมูล # 2 ไม่สามารถแก้ไขได้ - ในกรณีนี้เพียงแค่แสดงกริดที่เต็มไปด้วยเซลล์อินพุต (เช่นXที่อยู่ของหลุม) อินพุต พิกัดกริดแสดงถึง 'หลุม' ในกริด เซลล์เหล่านี้ไม่สามารถมีส่วนใดส่วนหนึ่งของ Tetromino ได้ พิกัดกริด: (0,0), (1,0), (2,0), ... (9,0) (0,1), (1,1), (2,1), ... (9,1) . …

6
ตัวเลขที่เป็น palindromes ใน N base
ได้รับจำนวนเต็มไม่เป็นลบn >= 0ออกไปตลอดกาลลำดับเลขx_i >= 3ที่มี palindromes ในตรงnฐานที่แตกต่างกันที่ฐานที่สามารถb2 <= b <= x_i-2 นี้เป็นพื้นผกผันของOEIS A126071nที่คุณส่งออกที่ดัชนีอยู่ในลำดับที่มีค่า มันแตกต่างกันเล็กน้อยเพราะฉันเปลี่ยนดังนั้นคุณจึงไม่สนใจเบสb = x_i-1, x_i, x_i+1เนื่องจากผลลัพธ์สำหรับเบสเหล่านั้นมักจะเหมือนเดิมเสมอ นอกจากนี้การชดเชยจะแตกต่างกัน x_iจะมีการ จำกัด จำนวน>= 3เพื่อให้ระยะแรกของผลสำหรับแต่ละnคือA037183 โปรดทราบว่ารูปแบบผลลัพธ์มีความยืดหยุ่น แต่ตัวเลขควรคั่นด้วยวิธีที่ดี ตัวอย่าง: n seq 0 3 4 6 11 19 47 53 79 103 137 139 149 163 167 ... 1 5 7 8 9 12 …
10 code-golf  sequence  base-conversion  palindrome  code-golf  array-manipulation  matrix  code-golf  string  ascii-art  code-golf  ascii-art  physics  code-golf  number  sequence  fibonacci  code-golf  ascii-art  packing  code-golf  string  hexadecimal  code-challenge  restricted-source  decision-problem  binary  code-golf  code-golf  code-golf  stack-exchange-api  code-golf  string  parsing  generation  data-structures  code-golf  kolmogorov-complexity  graphical-output  code-golf  array-manipulation  integer  generation  data-structures  code-golf  number  random  probability-theory  king-of-the-hill  java  minesweeper  code-golf  string  kolmogorov-complexity  animation  code-golf  string  code-golf  code-golf  quine  code-golf  internet  code-golf  arithmetic  base-conversion 
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.