คำถามติดแท็ก code-golf

Code-golf เป็นการแข่งขันเพื่อแก้ไขปัญหาเฉพาะในส่วนที่น้อยที่สุดของซอร์สโค้ด

6
ผลกำไรร้านขายของเล่น
เรื่องราว "2016? Al .right," ผู้ขายของเล่นบ่นฮิลแบร์ต เขาเปิดตาของเขาเช็ดน้ำสลัดไหลออกมาจากหูของเขาและกิน cremeschnitte เริ่มเตะตอนเช้า แบบอย่างวันหยุด เขาต้องไปทำงานตอนนี้และทำบัญชีให้เสร็จในปีนี้ คริสมาสต์เป็นช่วงเวลาที่ให้ผลผลิตอย่างมากของปีโดยเฉพาะอย่างยิ่งสำหรับการขายของเขา ฮิลแบร์ตรู้ดีว่ามันทำงานอย่างไร: คนเข้ามาในร้านและซื้อของขวัญชิ้นแรกที่พวกเขาเสนอ พวกเขาจ่ายเงินและวิ่งไปที่ร้านอื่น ในทางปฏิบัติสิ่งที่เป็นจริงของขวัญไม่ได้สร้างความแตกต่าง ราคายังไม่เกี่ยวข้องด้วยหากไม่สูงเกินไป ทุกอย่างขึ้นอยู่กับเวลาที่เหลือจนถึงวันคริสต์มาส - เวลาที่สั้นกว่ายิ่งลูกค้าสำนึกผิดมากเท่าไหร่ราคาก็เต็มใจจ่ายมากขึ้นเท่านั้น สิ่งที่ต้องทำสำหรับฮิลแบร์ตก็คือดูนาฬิกาของเขา - และเขารู้ทันทีว่าลูกค้าของเขาสามารถใช้จ่ายได้เท่าใด เขาสามารถใช้ประโยชน์จากความจริงข้อนี้ได้อย่างง่ายดายเขาเพียงแค่หาของกำนัลที่แพงที่สุดที่เขาสามารถขายให้กับลูกค้าคนหนึ่งและมอบให้กับพวกเขา ตอนนี้เขารู้แล้วว่าเขาลืมที่จะใช้กลยุทธ์อันชาญฉลาดนี้เมื่อปีที่แล้ว ที่จะเปลี่ยนแม้ว่า! อย่างไรก็ตามฮิลแบร์ตต้องการทราบว่าธุรกิจของเขาจะรุ่งเรืองเพียงใดหากเขาใช้รูปแบบที่ยิ่งใหญ่ของเขา เขาสามารถรวบรวมรายชื่อผู้คนที่มาที่ร้านค้าของเขาได้ แต่เขาไม่แน่ใจว่าเขาสามารถทำเงินได้มากแค่ไหน งานของคุณ (TL; DR) ข้อมูลที่ป้อนประกอบด้วยรายการของของขวัญที่มีราคาจากน้อยไปหามากและรายการงบประมาณของลูกค้า รายการงบประมาณอยู่ในลำดับเดียวกับที่ลูกค้ามาถึงร้านค้าโดยมีเงื่อนไขว่าลูกค้าทุกคนยินดีที่จะจ่ายอย่างน้อยเท่า ๆ กับรายการก่อนหน้าซึ่งหมายความว่ามันขึ้นไป สำหรับลูกค้าแต่ละรายให้หาของกำนัลที่แพงที่สุดที่พวกเขาเต็มใจจ่ายและส่งออกราคาของมัน 0หากไม่มีของขวัญภายในงบประมาณที่มีการส่งออก คุณจะได้รับ-40%โบนัสตัวละครหากความซับซ้อนของเวลาแบบอะซิมโทติคของอัลกอริทึมของคุณคือO(n+m)(แทนที่จะเป็นเรื่องเล็กน้อยO(n*m)) ความยาวของรายการอินพุตอยู่ที่ไหนn, m นี่คือcode-golfไบต์ที่สั้นที่สุดชนะ ช่องโหว่มาตรฐานเป็นสิ่งต้องห้าม ตัวอย่าง การป้อนข้อมูล: 1 2 2 2 5 7 …
15 code-golf 

4
หมุนทุกแถวและคอลัมน์ในเมทริกซ์
ความท้าทาย รับn x nเมทริกซ์ของจำนวนเต็มด้วยn >= 2 1 2 3 4 และรายการจำนวนเต็มที่มี2nองค์ประกอบทุกประการ [1,2, -3, -1] เอาท์พุทเมทริกซ์หมุน เมทริกซ์นี้ถูกสร้างขึ้นด้วยวิธีต่อไปนี้: ใช้จำนวนเต็มแรกในรายการและหมุนแถวแรกไปทางขวาด้วยค่านี้ ใช้จำนวนเต็มถัดไปและหมุนคอลัมน์แรกลงตามค่านี้ ใช้จำนวนเต็มถัดไปและหมุนแถวที่สองไปทางขวาด้วยค่านี้ ฯลฯ จนกระทั่งคุณหมุนทุกแถวและคอลัมน์ของเมทริกซ์หนึ่งครั้ง รายการสามารถมีจำนวนเต็มลบซึ่งหมายความว่าคุณเลื่อนแถว / คอลัมน์ซ้าย / ขึ้นแทนที่จะขวา / ลง หากจำนวนเต็มเป็นศูนย์อย่าหมุนแถว / คอลัมน์ ตัวอย่างการใช้อินพุตด้านบน รายการองค์ประกอบคำอธิบายเมทริกซ์ -------------------------------------------------- ---------- 1 2 1 หมุนแถวที่ 1 ทางขวา 1 3 4 2 2 1 หมุนคอลัมน์ที่ 1 ลง …

4
สร้างห้องที่เรียบง่ายใน ASCII-art
ห้องพักอาจประกอบด้วยสี่เหลี่ยมที่เชื่อมต่อกันเช่นห้องรูปตัวแอล ห้องดังกล่าวสามารถอธิบายโดยรายการขนาดที่อธิบายขนาดของแต่ละสี่เหลี่ยมผืนผ้า สมมติว่าคุณมีสองรายการอินพุต ส่วนแรกประกอบด้วยความกว้างของรูปสี่เหลี่ยมผืนผ้าที่เรียงซ้อนกันในแนวตั้ง ที่สองประกอบด้วยความสูงของสี่เหลี่ยม ตัวอย่างเช่นอินพุต[4 6][3 2]จะเป็นรูปสี่เหลี่ยมผืนผ้าขนาด 4 x 3 ที่ด้านบนของรูปสี่เหลี่ยมผืนผ้าขนาด 6 x 2 รูปด้านล่างแสดงรูปร่างนี้ โปรดทราบว่าผนังนั้นถือว่า "บาง" ดังนั้นจึงเป็นช่องว่างระหว่างผนังที่ถูกกำหนดโดยอินพุต [4 6][3 2] ____ | | | | | |_ | | |______| ความท้าทายคือ: ใช้รายการมิติเป็นอินพุตและแสดงรูปร่างของห้องเป็น ASCII-art รูปแบบจะต้องเป็นในรูปตัวอย่าง: ผนังแนวนอนทั้งหมดแสดงโดยใช้ขีดล่าง ผนังแนวตั้งทั้งหมดจะแสดงโดยใช้บาร์ จะไม่มีกำแพงที่เชื่อมต่อกับรูปสี่เหลี่ยมผืนผ้า ผนังด้านซ้ายตรง สำหรับรายละเอียดเพิ่มเติมให้ดูที่กรณีทดสอบ สมมติฐานที่คุณสามารถทำได้: มิติทั้งหมดอยู่ในช่วง [1 ... 20] ขนาดขอบฟ้าทั้งหมดเป็นเลขคู่ จำนวนของรูปสี่เหลี่ยมจะอยู่ในช่วง [1 ... …

18
การเรียงลำดับเมทริกซ์รูปสี่เหลี่ยมผืนผ้า
รับเมทริกซ์Aเราสามารถพูดได้ว่ามันเป็น "เรียง" ถ้าแต่ละแถวและคอลัมน์ของAจะเรียง (จากซ้ายไปขวาสำหรับแถวและจากบนลงล่างเพื่อคอลัมน์) ดังนั้นเมทริกซ์นี้จึงถูกจัดเรียง: [ 1 2 3 4 5 ] [ 2 2 3 4 5 ] [ 3 3 3 4 5 ] [ 4 4 4 4 5 ] [ 5 5 5 5 5 ] อย่างไรก็ตามเมทริกซ์นี้ไม่ได้จัดเรียง: [ 1 2 3 4 5 ] [ 2 …

18
สลับรูปภาพ png
สร้างโปรแกรมหรือฟังก์ชั่นที่ใช้ชื่อไฟล์เป็นอาร์กิวเมนต์หรืออ่านจากอินพุตมาตรฐานและทำงานต่อไปนี้ให้สมบูรณ์: อ่านภาพจากไฟล์ png (ชื่อที่กำหนดเป็นอาร์กิวเมนต์) เปลี่ยนสีในภาพนั้นตัวอย่างเช่นสีเขียวเข้ม (0, 75, 30) จะกลายเป็น (255, 180, 225) (เพราะ 255-0 = 255, 255-75 = 180 และ 255-30 = 225) คุณไม่ควรเปลี่ยนค่าช่องอัลฟ่า เอาต์พุตอิมเมจนั้นไปยังไฟล์ที่เรียกว่าa.png(ในรูปแบบ png) หรือแสดงในหน้าต่าง GUI นี่คือรหัสกอล์ฟ ช่องโหว่มาตรฐานใช้

1
ความก้าวหน้าทางคณิตศาสตร์สีเดียวกัน
ทฤษฎีบทของ Van der Waerdenกล่าวว่า สำหรับจำนวนเต็มบวกใด ๆ ที่ได้รับrและkมีบางจำนวนNเช่นนั้นหากจำนวนเต็ม{1, 2, ..., N}เป็นสีแต่ละr สีมีสีต่างกันหนึ่งสีดังนั้นอย่างน้อยก็มีkจำนวนเต็มอย่างน้อยในการดำเนินการทางคณิตศาสตร์ที่มีสีเดียวกันทั้งหมด เช่นอย่างน้อยเป็นแวนเดอร์จำนวนN WaerdenW(r, k) เป้าหมายของคุณคือการคำนวณ Van der Waerden จำนวนW(r, k)รับปัจจัยบวกจำนวนเต็มและr kไบต์ที่น้อยที่สุดจะเป็นผู้ชนะ ระวังว่าฟังก์ชั่นนี้จะเติบโตอย่างรวดเร็วและใช้เวลาในการคำนวณ แม้W(4, 4)ไม่เป็นที่รู้จัก คุณอาจสมมติว่าโค้ดของคุณทำงานบนคอมพิวเตอร์ในอุดมคติที่มีทรัพยากรไม่ จำกัด (เวลา, หน่วยความจำ, ความลึกของสแต็ค ฯลฯ ) ในทางทฤษฎีรหัสของคุณจะต้องให้คำตอบที่ถูกต้องแม้สำหรับค่าที่ไม่ทราบคำตอบ บิวด์อินที่ไม่อนุญาตให้คำนวณฟังก์ชันนี้ ตัวอย่าง สำหรับr = 2สีและความก้าวหน้าของความยาวk = 3มี8ลำดับความยาวที่หลีกเลี่ยงความก้าวหน้าเช่น3องค์ประกอบที่เว้นระยะเท่ากันที่มีสีเดียวกัน: B R R B B R R B แต่ไม่มี9ลำดับความยาวเช่นW(2, 3) == …

5
ไกลแค่ไหนจากภายนอก?
ใช้พื้นที่ 2 มิติแบ่งออกเป็นองค์ประกอบตารางหน่วยของแกนที่มีการจัดกึ่งกลางตามระยะเวลาจำนวนเต็ม มีการกล่าวถึงขอบภายในถ้ามันแบ่งเป็นสององค์ประกอบมิฉะนั้นจะเป็นขอบภายนอก เป้าหมายของคุณคือการหาจำนวนขั้นต่ำขององค์ประกอบที่อยู่ใกล้เคียงซึ่งจะต้องสำรวจให้ถึงขอบด้านนอกโดยเริ่มจากศูนย์กลางของแต่ละองค์ประกอบหรือที่เรียกว่า traversal distanceหรือdistanceสั้น คุณสามารถเคลื่อนที่ผ่านขอบเท่านั้น (เช่นไม่มีการตัดมุม / การเคลื่อนที่ในแนวทแยง) โปรดทราบว่า "องค์ประกอบภายนอก" (องค์ประกอบที่มีขอบภายนอกอย่างน้อยหนึ่ง) ได้รับการพิจารณาว่าจำเป็นต้องสำรวจ0องค์ประกอบที่อยู่ใกล้เคียงเพื่อเข้าถึงขอบด้านนอก .. อินพุต อินพุตเป็นรายการของคู่พิกัดจำนวนเต็มที่ไม่เป็นลบซึ่งแสดงถึง (x, y) ของศูนย์กลางขององค์ประกอบทั้งหมด มันจะสันนิษฐานว่าไม่มีองค์ประกอบที่ทับซ้อนกัน (เช่นคู่ x / y ระบุองค์ประกอบ) คุณอาจไม่คิดอะไรเกี่ยวกับลำดับการป้อนองค์ประกอบ คุณสามารถแปลงต้นกำเนิดของอินพุตให้เป็นตำแหน่งใดก็ได้ (เช่น 0,0 หรือ 1,1 เป็นต้น) คุณอาจสมมติว่าองค์ประกอบอินพุตทั้งหมดเชื่อมต่อกันหรืออาจกล่าวได้ว่าเป็นไปได้ที่จะเดินทางจากองค์ประกอบหนึ่งไปยังองค์ประกอบอื่น ๆ โดยใช้กฎด้านบน โปรดทราบว่านี่ไม่ได้หมายความว่าการเชื่อมต่อภูมิภาค 2 มิตินั้นง่าย มันอาจมีรูอยู่ข้างใน ตัวอย่าง: ต่อไปนี้เป็นอินพุตที่ไม่ถูกต้อง 0,0 2,0 ไม่จำเป็นต้องตรวจสอบข้อผิดพลาด อินพุตอาจมาจากแหล่งใดก็ได้ (ไฟล์ stdio พารามิเตอร์ฟังก์ชัน …

3
ยานอวกาศไปไหน
ขึ้นอยู่กับความคิดที่แนะนำโดยZgarb ยานอวกาศกำลังเคลื่อนที่รอบกริด 3D ปกติ เซลล์ของตารางที่มีการจัดทำดัชนีที่มีจำนวนเต็มในมือขวาระบบพิกัดxyz ยานอวกาศเริ่มต้นที่จุดกำเนิดโดยชี้ไปตามแกนxบวกโดยที่แกนzบวกชี้ขึ้น ยานอวกาศจะบินไปตามเส้นทางที่กำหนดโดยลำดับการเคลื่อนที่ที่ไม่ว่างเปล่า การเคลื่อนไหวแต่ละอย่างใดอย่างหนึ่งF(orward) UDLRlrซึ่งทำให้ยานอวกาศย้ายเซลล์หนึ่งในทิศทางที่หันหน้าไปทางของตนหรือหนึ่งในหกของการหมุน สิ่งเหล่านี้สอดคล้องกับ pitch, yaw และ roll ดังนี้: ขอบคุณ Zgarb ที่สร้างไดอะแกรม UและDเปลี่ยนระดับของยานอวกาศ 90 องศา (ซึ่งทิศทางนั้นสอดคล้องกับการเคลื่อนไหวของจมูกของยานอวกาศ) Left and Right เปลี่ยนความเอียงของยานอวกาศ 90 องศา พวกเขาเป็นเพียงการเลี้ยวซ้ายและขวาปกติ left และright คือการหมุน 90 องศาซึ่งทิศทางบ่งชี้ว่าปีกใดที่เลื่อนลง โปรดทราบว่าสิ่งเหล่านี้ควรถูกตีความสัมพันธ์กับยานอวกาศเพื่อให้แกนที่เกี่ยวข้องหมุนไปพร้อมกับมัน ในแง่คณิตศาสตร์ยานอวกาศจะอยู่ในตำแหน่งเริ่มต้น(0, 0, 0)โดยชี้ไปตาม(1, 0, 0)เวกเตอร์โดย(0, 0, 1)ชี้ขึ้นด้านบน การหมุนสอดคล้องกับเมทริกซ์ต่อไปนี้ที่ใช้กับระบบพิกัด: U = ( 0 0 -1 D …

4
นักเลงวันศุกร์: จัดลำดับรายชื่อสเปกตรัมสเปกตรัม ZX ใหม่ของฉัน
การเขียนโปรแกรมภาษาแรกที่ผมได้สัมผัสกับเป็นซินแคลขั้นพื้นฐาน เช่นเดียวกับภาษาขั้นพื้นฐานจำนวนมากก็ต้องใช้ทุกสายรหัสที่มาเป็นเลข ด้วยเหตุนี้การใช้GO TOคำสั่งจึงเป็นไปตามสำนวนและการดำเนินการข้ามไปยังหมายเลขบรรทัดที่กำหนด (ไม่มีป้ายกำกับ) นอกจากนี้ยังมีGO SUBคำสั่งที่เกี่ยวข้องซึ่งสามารถใช้เป็นการเรียกใช้ฟังก์ชันพื้นฐาน อีกครั้งการดำเนินการกระโดดไปหมายเลขบรรทัดที่กำหนด แต่เมื่อมีคำสั่งถึงการดำเนินการกระโดดกลับไปสอนต่อไปหลังจากที่RETURNGO SUB ในทำนองเดียวกันRUNคำสั่งจะรีสตาร์ทการทำงานของโปรแกรมที่บรรทัดที่กำหนด ทุกคนที่ใช้เวลาใด ๆ ในล่าม BASIC ที่มีหมายเลขบรรทัดจะได้เรียนรู้ที่จะใช้รูปแบบการกำหนดหมายเลขโดยมีช่องว่างอยู่ นี่คือเพื่อให้ง่ายต่อการแทรกบรรทัดของรหัสใหม่ อย่างไรก็ตามถึงแม้คุณจะยังคงพบว่าตัวเองต้องการแทรกบรรทัดใหม่ในระหว่างหมายเลขที่ต่อเนื่องกัน ให้รายการ BASIC ที่มีหมายเลขบรรทัดเป็นอินพุตเอาต์พุตโปรแกรมเดียวกัน แต่เรียงลำดับใหม่เพื่อให้หมายเลขบรรทัดเริ่มต้นที่ 10 และเพิ่มขึ้นทีละขั้นตอนที่ 10 รายการอินพุตอาจมีGO TOหรือGO SUBคำสั่งดังนั้นตัวเลขที่เกี่ยวข้องกับสิ่งเหล่านี้ต้องถูกปรับด้วย GO TOและGO SUBคำสั่งอย่างใดอย่างหนึ่งในสายของตัวเองหรือที่ส่วนท้ายของIF THENเส้น มันปลอดภัยที่จะพูด^(\d+) .*GO (TO|SUB) (\d+)$ก็เพียงพอที่จะจับคู่สายดังกล่าว คำสั่งเหล่านี้ในเครื่องหมายคำพูดควรถูกละเว้น RUNคำสั่งจะอยู่ในบรรทัดของตัวเองเสมอ ในกรณีนี้หมายเลขบรรทัดเป็นตัวเลือก ถ้ามันหายไปล่ามก็เริ่มที่ด้านบนของโปรแกรม ถ้าGO TO, GO SUBหรือRUNคำสั่งอ้างอิงบรรทัดที่ไม่มีอยู่, มันจะข้ามไปยังบรรทัดที่กำหนดถัดไปแทน การป้อนข้อมูลของคุณจำเป็นต้องจัดการกับสิ่งนี้และให้แน่ใจว่าการอ้างอิงบรรทัดดังกล่าวได้รับการแก้ไขเพื่อให้พวกเขาชี้ไปที่บรรทัดที่ถูกต้อง พฤติกรรมอาจไม่ได้กำหนดหากหมายเลขบรรทัดหลังจากสิ้นสุดโปรแกรมได้รับในหนึ่งในคำสั่งเหล่านี้ หมายเลขบรรทัดจะเป็นจำนวนเต็มบวก 1 ถึง …
15 code-golf 

3
Reverse-Engineer ลำดับ N-Bonacci [s]
แก้ไข: ฉันจะรับคำตอบวันจันทร์ที่ 2/15/2016 ไบต์อาจจะอยู่ในความโปรดปรานของคุณ! ในการท้าทาย "Print the N-Bonacci Sequence" ของเขา @DJMcGoathem อธิบายลำดับ N-bonacci โดยที่ตัวเลขNก่อนหน้าจะถูกรวมเข้าด้วยกันแทนที่จะเป็นลำดับดั้งเดิม 2 ของลำดับ Fibonacci (กล่าวว่าเป็น " ลำดับคู่ duo nacci") จากนั้นเขาก็ขอให้รับอินพุตสองตัวคือ X และ N แล้วเอาท์พุทหมายเลขX th N -nacci ฉันขอเสนอสิ่งที่ตรงกันข้าม รับลำดับเอาท์พุทซึ่งลำดับN -ncci มันเป็นส่วนย่อยของ ฉันพูดว่า "ส่วนย่อยของ" เพราะ: A) ลำดับเหล่านี้ไม่มีที่สิ้นสุด B) หากได้รับการเริ่มต้นของลำดับคุณก็สามารถนับจำนวนของ 1 นำ ในกรณีที่มันอาจเป็นของหลายลำดับN -naC เลือกหนึ่งที่ต่ำที่สุด ในกรณีที่มันไม่ได้อยู่ในลำดับN-nacciใด ๆโปรแกรมของคุณอาจทำสิ่งอื่นนอกเหนือจากการพิมพ์สิ่งที่อาจทำให้เข้าใจผิดว่าเป็นผลลัพธ์ พฤติกรรมเหล่านี้รวมถึง ( …

3
เพศของฟีโบนักชี
Leonardo da Pisano หรือที่รู้จักว่า Fibonacci เป็นเครื่องมือสำคัญในการนำระบบตัวเลขฮินดู - อาหรับเข้าสู่ยุโรป ก่อนหน้านั้นนักคณิตศาสตร์มีการทำงานในฐานหกสิบกับตัวเลขโรมัน ตัวอย่างเช่นรากที่สองของทั้งสองอาจประมาณว่า: หนึ่งและยี่สิบสี่ส่วนของหกสิบห้าสิบเอ็ดส่วนของสามพันหกร้อยและเขียนเป็น: i xxiv liโดยมีการกำหนดโดยบริบท ในเวลานั้น“ ไม่มีอะไร” เป็นที่รู้จัก ( เช่นศูนย์) แต่ไม่มีการแสดงมาตรฐานในระบบหมายเลขนี้ หากฟีโบนัชชีไม่สนใจตัวเลขทศนิยมใหม่ที่เขาพบระหว่างการเดินทางเขาจะต้องจัดการกับข้อบกพร่องในระบบปัจจุบันอย่างแน่นอน ระบบที่ปรับปรุงแล้วนี้เราจะเรียกเพศของฟีโบนักชี งานของคุณคือการเขียนโปรแกรมฟังก์ชั่นหรือตัวอย่างของรหัสซึ่งใช้ตัวเลขทศนิยมในรูปแบบ ASCII หรือไบนารีและเอาท์พุทในฐานหกสิบตัวเลขโรมัน อินพุตสามารถเป็นไฟล์คอนโซลบรรทัดคำสั่งหรืออาร์กิวเมนต์ของฟังก์ชันและเอาต์พุตสามารถเป็นไฟล์หรือคอนโซลใดก็ได้ที่ง่ายที่สุด เอาต์พุตสามารถเป็นตัวพิมพ์ใหญ่หรือตัวพิมพ์เล็กและต้องรวมการปรับปรุงเหล่านี้: ใช้nหรือNเพื่อบ่งบอกว่าnullหมายถึงสถานที่ไม่มีค่าเช่น “ zero” (ปัญหาเกี่ยวกับระบบ) ใช้eหรือEเพื่อระบุและสอดคล้องกับประเด็นเรื่องเพศ (ปัญหาอื่นกับระบบ) ใช้จุดกึ่งกลาง·หรือเครื่องหมายดอกจัน * เพื่อแยกกลุ่มของตัวเลขโรมัน (ยังเป็นปัญหาของระบบ) สมมติการป้อนข้อมูลที่จะได้รับการจุดลอยกับ mantissa ไม่เกินlix · lix · lix · lix · lix เศษส่วนน้อยกว่าn · …

4
คำนวณตัวเลขที่คดเคี้ยว
หมายเลขคดเคี้ยวคือหมายเลขจำนวนเต็มของการหมุนวนทวนเข็มนาฬิกาสุทธิผู้สังเกตการณ์ต้องทำตามเส้นทางปิดที่กำหนด โปรดทราบว่าการหมุนตามเข็มนาฬิกาใด ๆ นับว่าเป็นลบต่อจำนวนคดเคี้ยว เส้นทางได้รับอนุญาตให้ตัดกันด้วยตนเอง ตัวอย่างบางส่วน (นำมาจากวิกิพีเดียลงคอ) ได้รับด้านล่าง: เป้าหมายของคุณคือการคำนวณหมายเลขที่คดเคี้ยวสำหรับเส้นทางที่กำหนด อินพุต (0,0)ผู้สังเกตการณ์จะถือว่าเป็นที่แหล่งกำเนิด อินพุตเป็นลำดับที่แน่นอนของคะแนน (เหมือนคู่ของตัวเลขจำนวนเต็ม) จากแหล่งอินพุตที่ต้องการซึ่งอธิบายเส้นทางเชิงเส้นแบบชิ้นส่วน คุณสามารถทำให้แบนนี้เป็น 1D ตามลำดับของตัวเลขจำนวนเต็มหากต้องการและอาจ swizzle อินพุตเพื่อใช้พิกัด x ทั้งหมดก่อนที่พิกัด y ทั้งหมด / vise-versa a+b iนอกจากนี้คุณยังอาจใช้การป้อนข้อมูลเป็นตัวเลขที่ซับซ้อน เส้นทางอาจตัดกันด้วยตนเองและอาจมีเซ็กเมนต์ที่มีความยาวเป็นศูนย์ จุดแรกคือจุดเริ่มต้นของเส้นทางและคาดว่าจะอยู่ที่ไหนสักแห่งบนแกน x บวก ไม่มีส่วนใดของเส้นทางที่จะตัดกันที่มา เส้นทางจะปิดตลอดเวลา (เช่นจุดแรกและจุดที่หายไปเหมือนกัน) รหัสของคุณอาจบ่งบอกถึงจุดสุดท้ายหรือต้องการให้รวมไว้ ตัวอย่างเช่นขึ้นอยู่กับความต้องการของคุณทั้งสองอินพุทให้ระบุสแควร์เดียวกัน จุดสิ้นสุดโดยนัย 1,0 1,1 -1,1 -1,-1 1,-1 จุดสิ้นสุดที่ชัดเจน 1,0 1,1 -1,1 -1,-1 1,-1 1,0 เอาท์พุต …

17
ใช้กฎหมายของ Kirchhoff
กฎหมายของ Kirchhoffบอกว่าเมื่อคุณสรุปกระแสทั้งหมด (บวกสำหรับกระแสที่จะแยกและลบสำหรับกระแสออกจากทางแยก) คุณจะได้ผลลัพธ์ 0 เสมอ ดูแผนภาพต่อไปนี้: ด้วยกฎของ Kirchhoff คุณจะเห็นว่า i1 + i4 - i2 - i3 = 0 ดังนั้น i1 + i4 = i2 + i3 ให้สองรายการหนึ่งที่มีกระแสทั้งหมดเข้าทางแยกและอีกหนึ่งที่มีกระแสทั้งหมดออกจากทางแยกยกเว้นหนึ่งออกรายการสุดท้าย Testcases: [1, 2, 3], [1, 2] = 3 [4, 5, 6], [7, 8] = 0 [5, 7, 3, 4, 5, 2], [8, …

2
แอปเปิ้ลกำลังตกลงมา
บทนำ มีลำต้นของต้นแอปเปิลอยู่ในตำแหน่งระหว่าง -2 ถึง 2 บนแกน x ซึ่งแอปเปิ้ลบางตัวตกลงมา: | | | | <-------|---|-------> -2 2 ในชีวิตประจำวัน, nแอปเปิ้ลล้มลง แต่ละแอปเปิ้ลยังคงพิกัด xไว้ตรงกับพื้น แต่ถ้ามันตกลงบนยอดของแอปเปิ้ลตัวอื่นมันจะหมุนไปตามกฎต่อไปนี้จนกว่ามันจะถึงพื้นหรือแอปเปิ้ลเลเยอร์ที่รองรับ: หากพื้นที่ที่x + 1ที่ความสูงปัจจุบันว่างเปล่าแอปเปิ้ลปัจจุบันจะไปที่นั่น มิฉะนั้นถ้าช่องว่างที่x-1ว่างเปล่าแอปเปิ้ลปัจจุบันจะไปที่นั่น มิฉะนั้นแอปเปิ้ลปัจจุบันยังคงอยู่ที่ที่อยู่ด้านบนของแอปเปิ้ลอื่น ท้าทาย อินพุตจะเป็นตำแหน่งเริ่มต้นnของแต่ละแอปเปิ้ลตามลำดับ คุณสามารถใช้เป็นอาเรย์หรือแยกตัวเลขหรือวิธีการอื่นที่ถูกต้องเพียงแค่ให้แน่ใจว่าคุณอธิบายมันในคำตอบของคุณ ผลลัพธ์ควรเป็นรูปวาด ASCII ของลำต้นของต้นไม้และแอปเปิ้ลรอบ ๆ คุณไม่จำเป็นต้องวาดแกน x ไปทางซ้ายของแอปเปิ้ลซ้ายสุดและไปทางขวาของแอปเปิ้ลขวาสุด แต่คุณจำเป็นต้องวาดที่ใดก็ได้ที่อยู่ใต้แอปเปิ้ลบางตัว คุณสามารถขยายต้นไม้เหนือแอปเปิ้ลที่สูงที่สุด คุณสามารถสันนิษฐานได้ว่าพิกัด xทั้งหมดอยู่ระหว่าง -100 ถึง 100 แต่ไม่ใช่ระหว่าง -2 และ 2 นี่คือcode-golf .. คำตอบที่สั้นที่สุดในหน่วยไบต์ชนะ! ตัวอย่าง …

5
บล็อกซ้อน
เมื่อได้รับอินพุตของรายการบล็อกที่จะดรอป ณ จุดใดจุดหนึ่งให้ส่งออกความสูงของ "หอคอย" ที่เกิดขึ้น วิธีที่ดีที่สุดในการอธิบายความท้าทายนี้เป็นตัวอย่าง การป้อนข้อมูลจะมีรายการของ2nจำนวนเต็มตัวแทนnบล็อก จำนวนเต็มแรกคือตำแหน่ง x ของบล็อก 0 ดัชนีและที่สองคือความกว้างของบล็อก ตัวอย่างเช่นอินพุตของ2 4แสดงถึงบล็อก (ที่มีพิกัด x ติดป้ายด้านล่าง): #### 0123456789 2 4 4 6ตอนนี้ขอบอกว่าใส่เป็น นั่นคือหนึ่งบล็อกที่ x = 2 ที่มีความกว้าง 4 และอีกหนึ่งที่ x = 4 ที่มีความกว้าง 6: ###### #### โปรดทราบว่า a.) บล็อก "ปล่อย" เสมอจากด้านบนสุดของหอคอยและ b.) บล็อกจะไม่ "ล้ม" (เช่นพวกเขาจะรักษาสมดุลเสมอ) ดังนั้นอินพุตของ 2 4 4 …
15 code-golf 

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.