การเขียนโปรแกรมปริศนา & รหัสกอล์ฟ

คำถาม & คำตอบสำหรับผู้ชื่นชอบการเขียนโปรแกรมปริศนา

5
บทคัดย่อการเขียนซ้ำที่ท้าทาย (โจร)
นี่คือค่อนข้าง หลักฐานกอล์ฟ-ชอบ ตำรวจและโจรท้าทาย. นี่คือกระทู้โจร ด้ายตำรวจอยู่ที่นี่ โจร ตำรวจจะโพสต์ระบบการเขียนบทคัดย่อ งานของคุณคือถอดรหัสการส่งของพวกเขาโดยการพิสูจน์ว่าสตริงเป้าหมายสามารถหรือไม่สามารถเข้าถึงได้จากสตริงต้นทางโดยใช้กฎการเขียนซ้ำของพวกเขา (คุณสามารถทำได้โดยการโพสต์ลำดับของกฎการเขียนใหม่ที่เริ่มต้นด้วยสตริงต้นทางและสิ้นสุดด้วยเป้าหมายหรือโดยการพิสูจน์ทางคณิตศาสตร์ว่าสิ่งนี้มีอยู่หรือไม่มีอยู่) ดูหัวข้อของตำรวจสำหรับรายละเอียดและคำจำกัดความ

12
เครื่องหมายดอกจัน viral
ด้วยจำนวนเต็มบวกN ("virality") โปรแกรมของคุณควรสร้างภาพวาด ASCII-art ของต้นไม้ที่มีความยาวสองสาขาNขยายลงและ / หรือขวาจากมุมบนซ้าย ทิศทางของแต่ละสาขาหลังจากเครื่องหมายดอกจันแรกอาจเป็นไปทางขวาหรือลงและตัวเลือกนี้ควรทำแบบสุ่ม1ในทุกขั้นตอนถัดไป ตัวอย่างเช่นเมื่อได้รับอินพุต 5 เอาต์พุตอาจมีลักษณะดังนี้: *** * *** ** ** กิ่งทั้งสองได้รับอนุญาตให้สัมผัส (อยู่ในเซลล์ที่อยู่ติดกัน) แต่ไม่ทับซ้อนกัน (อยู่ในเซลล์เดียวกัน) ดังนั้นสิ่งต่อไปนี้จะไม่ได้รับอนุญาต: *** * * ***** * * ตัวอย่าง สำหรับอินพุต1เอาต์พุตที่เป็นไปได้เท่านั้นคือ: ** * (สิ่งนี้จะปรากฏในเอาต์พุตที่ถูกต้องทั้งหมดเนื่องจากการที่กิ่งทั้งสองใช้เส้นทางเดียวกันจะทำให้พวกมันทับซ้อนกัน) เอาต์พุตที่เป็นไปได้สำหรับอินพุต3รวม: *** * * ** ** *** * * สำหรับอินพุต7: **** * ** * ** * *** * …

2
การสร้างฟังก์ชั่นผ่านหลายบรรทัด
ฉันพยายามที่จะสร้างฟังก์ชั่นมากกว่าหลายบรรทัด พารามิเตอร์ของความท้าทาย: ฟังก์ชันส่งคืน 'อนารยชน' เพียง 2 ตัวอักษรต่อบรรทัด สูงสุด 40 บรรทัด ฉันพยายามที่จะใช้ลูกศรไขมันเพื่อประกาศฟังก์ชั่นของฉัน แต่ลูกศรไขมันดูเหมือนจะไม่ทำงานหากคุณไม่ได้เชื่อมต่อ แหล่งที่มาของความท้าทาย: https://www.codewars.com/kata/multi-line-task-plus-plus-hello-world งานปัจจุบันของฉัน: f= ( )=> '\ b\ a\ r\ b\ a\ r\ i\ a\ n\ s\ ' ใช้งานได้ แต่ ') =>' มีความยาว 3 ตัวอักษร ฉันแค่อยากรู้ว่ามันเป็นไปได้อย่างไรที่จะยืดการสร้างฟังก์ชั่นออกมา ฉันไม่สามารถหาข้อมูลใด ๆ ได้ทุกที่เพราะเห็นได้ชัดว่ามันใช้งานไม่ได้จริง ๆ

5
ฟ้อง Quine-Bomb!
ท้าทาย: สร้างโปรแกรมหรือฟังก์ชั่นที่รับอินพุตจำนวนเต็มซึ่งส่งออกโปรแกรม / ฟังก์ชั่นใหม่ตามที่ระบุด้านล่าง การป้อนข้อมูล: จำนวนเต็มn: เวลาเป็นวินาทีก่อนที่ Time Bomb จะระเบิด เอาท์พุท: โปรแกรมต้นฉบับที่มีเวลาnเป็นวินาทีในการป้อนข้อมูลจะส่งออกโปรแกรม / ฟังก์ชั่นใหม่ที่ทำสิ่งต่อไปนี้: ได้nไม่กี่วินาทีที่ผ่านมาตั้งแต่โครงการก่อนหน้านี้ได้รับการทำงาน? พิมพ์BOOM! อื่น: พิมพ์โปรแกรม / ฟังก์ชั่นซึ่งเมื่อเรียกใช้ตัวเองจะรีเซ็ตตัวจับเวลากลับเป็นnวินาที (และทำหน้าที่เหมือนกับโปรแกรม / ฟังก์ชั่นเอาท์พุทแรก) หมายเหตุ: มันไม่เหมือนกับโปรแกรม / ฟังก์ชั่นเอาท์พุทแรก (ในภาษาส่วนใหญ่อย่างน้อย) เนื่องจากเวลาเริ่มต้นมีการเปลี่ยนแปลง (ดูตัวอย่างคำอธิบายด้านล่าง) ตัวอย่างรหัสเทียม: สมมติว่าโปรแกรมต้นฉบับคือABCและอินพุตเป็น60วินาที: ABCและเอาท์พุท60DEF(60) หากDEF(60)ทำงานภายใน 60 วินาทีมันจะแสดงผลDEF_G(60)ซึ่งจะทำหน้าที่เหมือนกับDEF(60)แต่ด้วยเวลาเริ่มต้นใหม่ หากDEF(60)ทำงานหลังจาก 60 วินาทีมันจะออกBOOM!มา ตัวอย่างการชี้แจงสิ่งที่ฉันหมายถึงด้วย 'เวลาเริ่มต้น': โปรแกรมฐานด้วยการป้อนข้อมูลวินาทีจะดำเนินการที่60 มันออกโปรแกรมการส่งออกเป็นครั้งแรกที่มีเวลาเริ่มต้นของ12:00:0012:00:00 โปรแกรมนี้เอาท์พุทเป็นครั้งแรกกับการเริ่มต้นช่วงเวลาของการจะดำเนินการที่12:00:00 มันออกโปรแกรมเอาท์พุทที่สองด้วยเวลาเริ่มต้นของ12:00:4512:00:45 โปรแกรมนี้เอาท์พุทที่สามกับเวลาเริ่มต้นของการเรียกใช้ที่12:00:45 มันออกโปรแกรมการส่งออกที่สี่ที่มีเวลาเริ่มต้นของ12:01:2512:01:25 โปรแกรมนี้เอาท์พุทที่สี่ที่มีเวลาเริ่มต้นของการเรียกใช้ที่12:01:25 มันจะออก12:05:00BOOM! หมายเหตุวิธีการส่งออกก่อนจะพิมพ์BOOM!หลัง12:01:00แต่โปรแกรมการส่งออกมีความก้าวหน้าดังนั้นแม้ว่าจะเป็น12:01:25ในขั้นตอนที่ …
9 code-golf  quine  date 

15
จัตุรัสที่ใหญ่ที่สุด
คำถามนี้เป็นคำถามที่คล้ายกับสแควร์ที่ใหญ่ที่สุดในตาราง ท้าทาย ได้รับของเมทริกซ์1และ0ในรูปแบบสตริง"xxxx,xxxxx,xxxx,xx.."หรือรูปแบบอาร์เรย์["xxxx","xxxx","xxxx",...]คุณจะสร้างฟังก์ชั่นที่กำหนดพื้นที่ของตาราง submatrix 1ที่ใหญ่ที่สุดที่มีทั้งหมด ตาราง submatrix เป็นหนึ่งของความกว้างและความสูงเท่ากันและฟังก์ชั่นของคุณควรจะกลับพื้นที่ของ submatrix 1ที่ใหญ่ที่สุดที่มีเพียง ตัวอย่างเช่น: รับ"10100,10111,11111,10010"นี้ดูเหมือนว่าเมทริกซ์ต่อไปนี้: 1 0 1 0 0 1 0 1 1 1 1 1 1 1 1 1 1 0 0 1 0 คุณสามารถเห็นตัวหนา1สร้างจตุรัสย่อยที่ใหญ่ที่สุดของขนาด 2x2 ดังนั้นโปรแกรมของคุณควรคืนพื้นที่ซึ่งเป็น 4 กฎระเบียบ Submatrix ต้องมีความกว้างและความสูงเท่ากัน Submatrix ต้องมีเฉพาะค่า 1 ฟังก์ชันของคุณจะต้องส่งคืนพื้นที่ของ submatrix ที่ใหญ่ที่สุด ในกรณีที่ไม่พบ submatrix ให้ส่งคืน 1 …

5
ตัวพิมพ์เล็กแบบเยอรมัน
กำหนดสตริงภาษาเยอรมันและการบ่งชี้กรณี (ล่าง / บน / ชื่อเรื่อง), พับสตริงเพื่อกรณีที่ ข้อมูลจำเพาะ ข้อมูลที่ป้อนจะประกอบด้วยa- zบวกäöüß-,.;:!?'"ในตัวพิมพ์ใหญ่และ / หรือตัวพิมพ์เล็ก กรณีเป้าหมายอาจถูกนำมาใช้เป็นค่าที่ไม่ซ้ำกันสามค่า (โปรดระบุสิ่งที่เป็น) ของประเภทที่สอดคล้องกัน; ตัวอักษรสามตัวหรือตัวเลขสามตัวหรือรูปแบบสามบิต (ขณะนี้รูปแบบอื่นไม่ได้รับอนุญาตให้ป้องกัน "จ้าง" คำตอบของข้อมูลจำเพาะของเคสแสดงความคิดเห็นหากคุณคิดว่าควรอนุญาตรูปแบบเพิ่มเติม) Titlecase หมายถึงทุกอย่างเป็นตัวพิมพ์ใหญ่ยกเว้นตัวอักษรที่ตามหลังตัวอักษร (ตัวอักษรคือa- zบวกäöüß) gotchas เมื่อความต้องการที่จะเป็นตัวพิมพ์ใหญ่มันจะต้องกลายเป็นß ẞบิวด์อินตัวพิมพ์เล็กและตัวพิมพ์ใหญ่บางตัวไม่ทำเช่นนี้ เมื่อßความต้องการที่จะ titlecase Ssมันจะต้องกลายเป็น บิวด์อินตัวพิมพ์เล็กและตัวพิมพ์ใหญ่บางตัวไม่ทำเช่นนี้ ssอาจเกิดขึ้นในข้อความและไม่ควรที่จะแปลงหรือßẞ ตัวอย่าง ตัวพิมพ์ใหญ่die Räder sagen "ßß ss" für dich, wegen des Öls! คือDIE RÄDER SAGEN "ẞẞ SS" FÜR DICH, WEGEN …

2
Quarto มีการจับรางวัลกี่ครั้ง?
บทนำ ความท้าทายนี้คล้ายกับปัญหาของProject Euler ฉันคิดขึ้นมาเพราะเล่นเกมกระดานง่าย ๆ ที่หลอกลวงและไม่สามารถหาวิธีแก้ปัญหาที่มีประสิทธิภาพเพื่อตอบคำถามง่ายๆเกี่ยวกับกลไกของมัน Quartoเป็นเกมที่สนุก 4 เกมติดต่อกัน มันเล่นบนกระดานขนาด 4 x 4 ตัวมี 16 ชิ้นที่ไม่ซ้ำกัน ทุกเทิร์นผู้เล่นแต่ละคนวาง 1 ชิ้นบนกระดาน แต่ละชิ้นมี 4 ลักษณะไบนารี (สั้น / สูง, ดำ / ขาว, สแควร์ / วงกลม, กลวง / ของแข็ง) เป้าหมายคือการทำให้สี่ในแถวทั้งแนวนอนแนวตั้งหรือแนวทแยงมุม 2 สำหรับลักษณะใด ๆ ของสี่! ชิ้นส่วนสีดำ 4 ชิ้นชิ้นส่วนสีขาว 4 ชิ้นชิ้นส่วนสูง 4 ชิ้นชิ้นสั้น 4 ชิ้นชิ้นสี่เหลี่ยมจัตุรัส 4 ชิ้นชิ้นวงกลม …

4
ตอนนี้เรากำลังคิดในมิติ n!
คำถาม: ด้วยตัวเลขn≥ 2 จำนวนจุดคู่ที่แตกต่างกันของโครงตาข่ายnมิติn x n x n x n x n x n ... x nที่พิกัดอยู่ในช่วงตั้งแต่0ถึงถึงn - 1มีระยะห่างอย่างน้อยที่สุด n ? คู่{(2,1,3,1), (3,2,1,3)}และ{(3,2,1,3), (2,1,3,1)}ไม่ถือว่าแตกต่างจากกันและกันเนื่องจากประกอบด้วยสองจุดเดียวกันในลำดับย้อนกลับ โปรดทราบว่าจำนวนคู่ทั้งหมดเติบโตอย่างรวดเร็ว จำนวนคู่รวมไป6, 351, 32 640, 4 881 250, 1 088 367 840ฯลฯ กรณีทดสอบ: 2 -> 0 (all pairs are at most a distance of sqrt(2) < …

1
เครื่องคำนวณเวลาทำงาน
นี่คือวิธีที่ บริษัท ของฉันจัดการกับการตรวจสอบเวลาทำงานของพนักงานทุกคน เราแต่ละคนมีการ์ดที่สามารถส่งผ่านหน้าเซ็นเซอร์เพื่อให้นาฬิกาบันทึกเวลาที่พนักงานเช็คอินหรือออกจากสำนักงาน การลงทะเบียนทุกครั้งจะเชื่อมโยงกับรหัส: รหัส 0: พนักงานมาถึง (หรือกลับไปที่) สำนักงาน รหัส 1: พนักงานออกจากสำนักงานเพื่อรับประทานอาหารกลางวัน รหัส 2: พนักงานออกจากสำนักงานในตอนท้ายของวัน รหัส 3: พนักงานออกจากสำนักงานด้วยเหตุผลการทำงาน รหัส 4: พนักงานออกจากสำนักงานด้วยเหตุผลส่วนตัว การลงทะเบียนรหัส 0 บางครั้งจะเรียกว่า "การลงทะเบียนเป็นศูนย์" และรหัส 1 ถึงการลงทะเบียนรหัส 4 บางครั้งจะถูกเรียกว่า "การลงทะเบียนที่ไม่ใช่ศูนย์" ดังนั้นวันปกติสำหรับคนงานจะสร้างรายการลงทะเบียนเช่นนี้: Code/Time ------------ 0 8:17 // The employee arrives at the office 4 11:34 // The employee leaves …

14
ตำรวจและโจร: Redacted Primality (เธรดโจร)
นี่คือเธรดของโจร ด้ายตำรวจเป็นที่นี่ ความท้าทายของคุณคือนำการส่งที่ไม่ได้ติดตามจากเธรดของตำรวจและลองค้นหาโปรแกรมที่ไม่ทำปฏิกิริยา โปรดแสดงความคิดเห็นในการส่งของตำรวจเมื่อคุณถอดรหัสรหัสของพวกเขา

5
การท้าทายที่มาถึง 6: การติดตั้งแท่นขนส่งอีกครั้ง!
<< ก่อนหน้า ถัดไป >> ขอบคุณชุมชน PPCG ซานต้าจึงสามารถจัดเรียงของขวัญของเขาให้ถูกต้องเพื่อย้ายเข้าสู่ท่าเรือขนส่ง โชคไม่ดีที่ท่าเทียบเรือขนส่งแตกหักดังนั้นเขาจึงไม่รู้ว่าจะนำเสนออะไรมาให้บ้าง! ของขวัญถูกจัดกลุ่มเข้าด้วยกันและไม่ใช่ตามช่วงเวลาของพวกเขาซึ่งซานต้ายอมรับว่าเป็นความคิดที่ดีกว่า ตอนนี้เมื่อนำเสนอในลำดับที่เรียงลำดับให้กำหนดค่าช่วงน้อยที่สุดที่เป็นไปได้ทั้งหมดซึ่งจะส่งผลให้ปัจจุบันอยู่ในลำดับที่ถูกต้อง นั่นคือค้นหาการกำหนดค่าขั้นต่ำทั้งหมดเช่นการเรียงลำดับของขวัญตามอัลกอริทึมใน Challenge # 5 จะไม่เปลี่ยนลำดับ ท้าทาย การกำหนดค่าช่วงที่น้อยที่สุดคือรายการของช่วงที่แต่ละช่วงมีขนาดเล็กที่สุดเท่าที่จะเป็นไปได้ กล่าวคือหากช่วงถูกกำหนดให้ครอบคลุมชุดย่อยของของขวัญเฉพาะค่าต่ำสุดและสูงสุดของช่วงจะต้องเป็นค่าเดียวกันกับชุดย่อย กล่าวอีกนัยหนึ่งการลดขนาดช่วงใด ๆ ในหน้าปกจะทำให้มันไม่เป็นปกอีกต่อไป ความท้าทายคือการหาการกำหนดค่าช่วงน้อยที่สุดที่เป็นไปได้ที่จะนำไปใช้กับขนาดปัจจุบัน ลองมาตัวอย่าง:[3, 1, 2, 5, 4, 7, 6] มีกรณีเล็ก ๆ น้อย ๆ ซึ่งจะใช้ช่วงของการกำหนดค่าปัจจุบันทั้งหมด ในกรณีนี้[[1, 7]]จะเป็นทางออก สำหรับตัวอย่างที่มีองค์ประกอบเฉพาะกรณีเล็ก ๆ น้อย ๆ จะเป็น[[3], [1], [2], [5], [4], [7], [6]](เพราะไม่จำเป็นต้องสั่งช่วง) สำหรับตัวอย่างนี้เรายังเห็นว่า[[1, 3], [4, …

1
Advent Challenge 2: The Vault Raid!
<< ก่อนหน้า ถัดไป >> ท้าทาย ตอนนี้ซานต้าได้คิดในท้ายที่สุดว่าจะเข้าห้องนิรภัยในปัจจุบันของเขาได้อย่างไรเขาตระหนักดีว่าพวกเอลฟ์เข้ามาอยู่ข้างหน้าเขาแล้วขโมยของขวัญของเขา! พวกเขาไม่ได้คิดวิธีออกจากหลุมฝังศพ แต่ซานต้าจึงต้องพยายามและจับพวกเขาทั้งหมด ทั้งซานต้าและพวกเอลฟ์ต่างก็มีพลังงานไม่ จำกัด ที่จะวิ่งไปรอบ ๆ แต่น่าเสียดายที่พวกเอลฟ์นั้นมีพลังงานที่ไม่มีที่สิ้นสุดดังนั้นถ้าพวกมันวิ่งวนเป็นวง ๆ ทุกที่พวกเอลฟ์ก็จะได้รับอิสระ ให้กราฟของnโหนและeขอบโดยมีการเดินที่มีอยู่ระหว่างสองโหนและตำแหน่งของเอลฟ์และซานต้ากำหนดจำนวนเอลฟ์ซานต้าที่สามารถจับได้ก่อนที่เขาจะเหนื่อย การไล่ล่านั้นเป็นแบบเลี้ยว แต่ละรอบเอลฟ์จะย้ายไปพร้อม ๆ กันก่อน (พวกมันสามารถเคลื่อนที่ผ่านกันและกันและเข้าสู่โหนดเดียวกันได้เช่นกัน) จากนั้นซานต้าก็จะเคลื่อนที่ หากซานต้าย้ายไปยังโหนดเดียวกันกับเอลฟ์เขาจะจับเอลฟ์นั้นได้ เอลฟ์แต่ละคนสามารถย้ายจากโหนดเดียวไปยังเพื่อนบ้านได้ในขั้นตอนเดียว ซานต้าก็เหมือนกันในตอนแรก แต่สำหรับเอลฟ์ทุกคนที่เขาจับได้ซานต้าสามารถก้าวไปอีกขั้นหนึ่งได้ ดังนั้นถ้าซานต้าจับเอลฟ์แล้วเขาสามารถย้ายจากโหนดไปยังเพื่อนบ้านของเพื่อนบ้านได้ ซึ่งหมายความว่าเขาสามารถย้ายไปยังโหนดและกลับมา อย่างไรก็ตามเนื่องจากซานต้าทำงานเร็วเกินไปในช่วงเวลานี้เขาจะไม่จับเอลฟ์ที่ผ่านกลางขั้น (ดังนั้นถ้าเขาอยู่บน A, A เชื่อมต่อกับ B, B เชื่อมต่อกับ C จึงมีเอลฟ์อยู่ B และซานต้าย้ายจาก A -> B -> C เอลฟ์ยังไม่ถูกจับ) อย่างไรก็ตามซานต้าไม่จำเป็นต้องย้ายหลายขั้นตอนพร้อมกัน เขาขยับขึ้นไป 1 + …

30
แสดงคำที่สงวนไว้บางคำ
สำหรับภาษาคอมพิวเตอร์คำที่สงวนไว้คือคำที่ไม่สามารถใช้เป็นตัวระบุเช่นชื่อของตัวแปรฟังก์ชันหรือป้ายกำกับ สำหรับภาษาคอมพิวเตอร์อื่น ๆ คำหลักนั้นถือเป็นชุดคำสั่งภาษา ท้าทาย ใช้ภาษาที่คุณเลือกเขียนโค้ดในภาษาที่คุณเลือกซึ่งกำหนดตัวเลขระหว่างหนึ่งถึงสิบ1<=n<=10ให้ผลลัพธ์nคำที่สงวนไว้ (คำหลัก) ของภาษาที่เลือก ข้อมูลจำเพาะ หากภาษาที่เลือกเป็นแบบตรงตามตัวพิมพ์ใหญ่ หากภาษาที่เลือกไม่ตรงตามตัวพิมพ์ใหญ่และเล็กคำสำคัญที่แสดงผลนั้นอาจเป็นกรณีใดก็ได้ หากภาษาที่เลือกมีน้อยกว่า 10 คำหลักที่บอกว่าpต้องส่งออกรหัสทุกคำที่สงวนไว้สำหรับการใด ๆnระหว่างและp10 หากเป็นไปได้ให้ระบุคำตอบว่าคุณถือว่าโอเปอเรเตอร์เป็นคำหลักหรือไม่ ตัวอย่างที่เป็นไปได้สำหรับ Java (JDK10) n=1 --> true n=3 --> try new interface n=4 --> continue this long break ตัวอย่างที่เป็นไปได้สำหรับ> <> n=1 --> > n=3 --> > < ^ n=4 --> > < \ / ตัวอย่างที่เป็นไปได้สำหรับ …

9
Advent Challenge 3: ถึงเวลาที่จะจัดทำของขวัญใหม่!
<< ก่อนหน้า ถัดไป >> น่าเสียดายที่ซานต้าไม่สามารถตามทันเอลฟ์ได้! ตอนนี้เขาต้องกลับไปที่การผลิตของขวัญ เนื่องจากพวกเอลฟ์ไม่ใช่ทาสของซานต้าเขาจึงต้องคิดค่าใช้จ่ายในการจ่ายเท่าไหร่ ท้าทาย ให้ข้อมูลบางอย่างสำหรับของขวัญกำหนดค่าใช้จ่ายในการผลิตทั้งหมดของพวกเขา นำเสนอแต่ละครั้งจะถูกวางในกล่องกระดาษแข็งและห่อด้วยกระดาษห่อด้วยริบบิ้นห่อรอบ ๆ ในตอนท้ายมาก กระดาษห่อนั้นมีมนต์ขลังและไม่จำเป็นต้องทับซ้อนกันดังนั้นปริมาณกระดาษห่อที่ใช้จึงเทียบเท่ากับพื้นที่ผิวของกล่องอย่างแม่นยำ ของขวัญทั้งหมดเป็นปริซึมรูปสี่เหลี่ยมผืนผ้าเพราะวิธีที่ซานต้าสามารถเก็บไว้ได้อย่างแน่นหนา ริบบิ้นวิ่งไปรอบ ๆ ในทั้งสามทิศทาง (ดังนั้นความยาวของริบบิ้นที่ใช้ในการพันเท่ากับเท่ากับผลรวมของสามเส้นรอบนอกที่แตกต่างกัน) ปัจจุบันมีค่าใช้จ่ายที่รู้จักกันโชคดี กระดาษแข็งมีค่าใช้จ่าย $ 1 ต่อตารางเมตรและกระดาษห่อราคา $ 2 ต่อตารางเมตร (คำแนะนำ: คุณสามารถคูณพื้นที่ผิวด้วย 3: P) Ribbon ราคา $ 1 ต่อเมตร รูปแบบข้อมูลจำเพาะ การป้อนข้อมูลจะได้รับเป็นรายการของขวัญที่แต่ละรายการมีค่าใช้จ่ายของรายการจริงและสามมิติของกล่องปัจจุบัน ผลลัพธ์ของคุณควรเป็นค่าใช้จ่ายทั้งหมดที่จำเป็น เป็นที่แน่นอนสูตรสำหรับค่าใช้จ่ายในปัจจุบันที่เดียวที่มีค่าใช้จ่ายรายการcและมิติx, yและเป็นzc + 6 * (x * y + y * z …

1
แผนที่ ASCII ตัวละครห้าตัว
หมายเหตุ: ในโพสต์นี้คำว่า 'ตัวละคร' และ 'สี' หมายถึงสิ่งเดียวกัน ภาพนี้: สามารถแสดงเป็น ....'''333 .eeee'''3e ..dddd33ee %%%dd####e (สีการจับคู่กับตัวอักษร ascii) ทฤษฎีบทสี่สีกล่าวว่า "ให้เครื่องบินแยกออกเป็นส่วนที่ต่อเนื่องกันสร้างร่างที่เรียกว่าแผนที่ไม่จำเป็นต้องใช้สีเกินสี่สีในการกำหนดขอบเขตของแผนที่เพื่อไม่ให้มีสองบริเวณที่อยู่ติดกันมีสีเดียวกัน เรียกว่าภูมิภาคที่อยู่ติดกันหากพวกเขาแบ่งปันขอบเขตทั่วไปที่ไม่ได้เป็นมุมที่มุมเป็นจุดที่ใช้ร่วมกันโดยสามหรือมากกว่าภูมิภาค - Wikipedia ( ลิงก์ ) ซึ่งหมายความว่าควรเป็นไปได้ที่จะระบายสีแผนที่โดยใช้สี่สีเพื่อไม่ให้สองส่วนที่แบ่งปันขอบแบ่งปันสี อัลกอริทึมในการระบายสีแผนที่โดยใช้เพียงสี่สีนั้นมีความซับซ้อนดังนั้นในความท้าทายนี้โปรแกรมของคุณจำเป็นต้องระบายสีแผนที่โดยใช้สีห้าสีหรือน้อยกว่า แผนที่ก่อนหน้านี้เปลี่ยนสีอาจมีลักษณะเช่นนี้: ซึ่งสามารถแสดงเป็น ....'''333 .eeee'''3e ..dddd33ee 333dd....e หรือเทียบเท่า @@@@$$$!!! @^^^^$$$!^ @@<<<<!!^^ !!!<<@@@@^ ท้าทาย: เมื่อได้รับ "แผนที่" ที่ทำจากอักขระ ASCII (โดยที่อักขระแต่ละตัวแทนสีที่แตกต่างกัน) "เปลี่ยนสี" แผนที่ (แสดงถึงแผนที่โดยใช้อักขระ ASCII ที่แตกต่างกัน) เพื่อให้ใช้เพียงห้าสีหรือน้อยกว่าเท่านั้น ตัวอย่าง: การป้อนข้อมูล: %%%%%%%%%%%%##########$$$$$$$$%% …
9 code-golf 

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