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

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

11
การแทนแบบกราฟิกของ Koch สโนว์เฟลค
สร้างเกล็ดหิมะโคช์ส เกล็ดหิมะ Koch เป็นสามเหลี่ยมที่แต่ละnจุดมีการเพิ่มจุดอีกด้านหนึ่งไว้ตรงกลางของแต่ละด้าน: http://en.wikipedia.org/wiki/Koch_snowflake#Properties แล้วเรามีkolmogrov ซับซ้อน ท้าทายโคช์สโนว์เฟลn=4สำหรับ ความท้าทายใหม่คือการวาดเกล็ดหิมะ Koch กับใด ๆnระหว่างและ110 กฎระเบียบ เกล็ดหิมะอาจไม่ฮาร์โค้ดในโปรแกรมหรือในไฟล์ - มันจะต้องสร้างโดยโปรแกรมของคุณ โปรแกรมของคุณต้องรองรับทุกขนาดnตั้งแต่ 1 ถึง 10 จำนวนด้านต้องถูกป้อนโดยผู้ใช้ผ่าน std-in คุณต้องพิมพ์ภาพกราฟิกเกล็ดหิมะลงบนหน้าจอ ตัวอย่างเกล็ดหิมะ Koch ที่มีค่าnเท่ากับ 1, 2, 3 และ 4 (เส้นสีเขียวเพื่อความชัดเจนเท่านั้นอย่าทำซ้ำ): ในกรณีที่มีเบรกเกอร์โปรแกรมที่มีจำนวน upvotes มากที่สุดชนะ (การประกวดป๊อป)

2
ความตึงเครียดบนกราฟตอนที่ II: แถบยาง
นี่เป็นความท้าทายครั้งที่สองในสองเรื่องเกี่ยวกับ "ฟังก์ชันดึงตึง" นี่คือง่ายเล็กน้อย Part I Let 's ไดรฟ์เมตรเล็บเข้าไปในคณะกรรมการที่ตำแหน่ง(x 1 , y 1 )การ(x เมตร , y ม. ) มัดยางรัดไว้กับเส้นที่หนึ่งและเส้นสุดท้ายของเล็บเหล่านั้นและเหยียดรอบเล็บอื่น ๆ เช่นที่วงจะเคลื่อนที่ไปตามเล็บทั้งหมดตามลำดับ โปรดทราบว่าในตอนนี้แถบยางอธิบายฟังก์ชั่นพารามิเตอร์เชิงเส้น(x (t), y (t))ในขอบเขต 2D ตอนนี้ขับไปอีกnเล็บเข้าไปในคณะกรรมการที่ตำแหน่ง(x 1 , y 1 )การ(x n , y n ) ถ้าตอนนี้เราเอาของเดิมเมตรเล็บยกเว้นคนแรกและครั้งสุดท้าย (ซึ่งปลายของยางที่มีการเชื่อมโยงกับ) ยางรัดจะสั้นลงจนกว่าจะมีการโกหกตึงรอบเล็บใหม่ที่ให้ผลผลิตค่อีกฟังก์ชั่นการเชิงเส้น ยกตัวอย่างเช่นใช้m = 12เล็บเริ่มต้นที่ตำแหน่ง(0, 0), (2, -1), (3/2, 4/3), (7/2, 1/3), …

3
เป็นนักระบาดวิทยา!
ท้าทาย คุณต้องสร้างรูปแบบที่เรียบง่ายของการแพร่กระจายของโรครอบกลุ่มคน กฎและข้อกำหนด แบบจำลองต้องเป็นอาร์เรย์ 2 มิติ 1,000 คูณ 1,000 แต่ละองค์ประกอบจะเป็นคนละคนกัน ผู้ใช้จะต้องป้อนตัวแปรสามตัวโดยใช้ argv: ความน่าจะเป็นของการส่งผ่าน (มีแนวโน้มว่ามีใครบางคนกำลังติดเชื้อคนอื่น) โอกาสในการกลายพันธุ์และระยะเวลาที่การจำลองควรทำงาน ในช่วงแรก ( t=0) คนสี่คนควรได้รับการสุ่มเลือกและติดเชื้อ วิธีการทำงานของโรคอยู่ภายใต้กฎต่อไปนี้: โรคนี้สามารถเคลื่อนที่ในแนวตั้งและแนวนอนย้ายไปที่บุคคลที่อยู่ถัดไป การติดเชื้อมีระยะเวลา 3 ครั้งในทุกคน คุณไม่สามารถแยกปัจจัยในการสร้างภูมิคุ้มกันโรค หลังจากคนติดเชื้อสามครั้งพวกเขาจะมีภูมิคุ้มกันและไม่สามารถติดเชื้อได้อีก โรคนี้อยู่ภายใต้การกลายพันธุ์ที่ทำให้คนภูมิคุ้มกันก่อนหน้านี้มีความเสี่ยงต่อโรคกลายพันธุ์ใหม่นี้ โรคที่กลายพันธุ์มีลักษณะเหมือนกันทุกประการและเป็นไปตามกฎเดียวกันกับโรคดั้งเดิม หากการกลายพันธุ์เกิดขึ้นโรคทั้งหมดจะไม่เปลี่ยนแปลงเพียง 'แพ็คเก็ต' โดยเฉพาะเมื่อส่งสัญญาณ เมื่อบุคคลได้รับเชื้อไวรัสตัวหนึ่งพวกเขาจะไม่สามารถติดเชื้อได้อีกจนกว่าการติดเชื้อในปัจจุบันจะผ่านไป หากบุคคลนั้นติดเชื้อพวกเขาจะติดเชื้อตั้งแต่เริ่มต้นจนถึงสิ้นสุด ไม่มีระดับภูมิคุ้มกัน - คนมีภูมิคุ้มกันหรือไม่ หากต้องการหยุดการโอเวอร์โหลดหน่วยความจำจะมีการ จำกัด การกลายพันธุ์สูงสุด 800 รายการ เมื่อสิ้นสุดระยะเวลาตามที่ระบุคุณควรแสดงผลลัพธ์ ผลลัพธ์จะต้องเป็นกริด 1,000 x 1,000 รายการที่แสดงว่าคนใดติดไวรัสและคนไหน สามารถส่งออกเป็นไฟล์ข้อความเป็นไฟล์รูปภาพหรือเอาต์พุตกราฟิก (โดยที่ #FFFFFF …

2
บัญชีธนาคารที่เลิกรา [ปิด]
ปิด. คำถามนี้เป็นคำถามปิดหัวข้อ ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัพเดตคำถามเพื่อให้เป็นไปตามหัวข้อสำหรับ Code Golf Stack Exchange ปิดให้บริการใน3 ปีที่ผ่านมา คุณกำลังทำงานเป็นโปรแกรมเมอร์ของธนาคาร งานของคุณคือการเขียนโปรแกรมที่จัดการธุรกรรมจากบัญชีธนาคารหนึ่งไปยังอีกบัญชีหนึ่ง โปรแกรมควรทำสิ่งต่อไปนี้: ทำงานในวงวนไม่สิ้นสุดรอการป้อนข้อมูล ข้อมูลที่ป้อนประกอบด้วย 3 หมายเลข: Accountnumber1, Accountnumber2 และ x จำนวนเงิน เช่น 999222 777333 500 ตรวจสอบว่าหมายเลขบัญชีและ x ถูกต้องหรือไม่ อินพุตมีความถูกต้องหากหมายเลขบัญชีไม่เหมือนกันและมีอยู่ในฐานข้อมูลของคุณและหาก x มากกว่าศูนย์ โอนเงินจากบัญชี 1 ไปยังบัญชี 2 แต่เฉพาะเมื่อบัญชี 1 มีเงินเพียงพอ บัญชีไม่ได้รับอนุญาตให้เข้าสู่เชิงลบ หากทุกอย่างไปได้ดีพิมพ์บางอย่างเช่น "Transferred x $ จาก number1 ถึง number2" หากมีสิ่งผิดปกติเช่นเนื่องจากหมายเลขบัญชีไม่ถูกต้องให้พิมพ์ข้อความแสดงข้อผิดพลาด …

8
การกำหนดหมายเลขบรรทัด - ใช้ nl
งานของคุณคือการใช้โปรแกรมคล้ายกับnlเครื่องมือบรรทัดคำสั่งจากยูทิลิตี้หลักของ GNU ช่องโหว่มาตรฐานถูกแบน คุณไม่สามารถใช้ฟังก์ชันโปรแกรมหรือยูทิลิตี้ในตัวหรือภายนอกสำหรับกำหนดหมายเลขบรรทัดของไฟล์หรือสตริงเช่นnlตัวมันเองหรือ=คำสั่งใน GNU sed สเปค อินพุต โปรแกรมยอมรับชื่อไฟล์เป็นอาร์กิวเมนต์ รหัสของคุณไม่จำเป็นต้องข้ามแพลตฟอร์ม รูปแบบชื่อไฟล์ของระบบปฏิบัติการที่ใช้รหัสควรนำมาใช้เช่นถ้าคุณเกิดขึ้นได้บน Windows, คั่นไดเรกทอรีสามารถหรือ\/ คุณต้องสามารถใช้ไฟล์อินพุต 64 ไฟล์รวมถึง-หากมีการระบุไว้ หากได้รับมากกว่า 64 ให้จัดการ 64 คนแรกเท่านั้น ในรายการชื่อไฟล์-หมายถึงอินพุตมาตรฐาน หากมีการกำหนดชื่อไฟล์ให้อ่านจากไฟล์ตามลำดับที่ได้รับและต่อเนื้อหาเข้าด้วยกันโดยแทรกบรรทัดใหม่ระหว่างแต่ละไฟล์และท้ายบรรทัด หากคุณไม่สามารถอ่านจากชื่อไฟล์อย่างน้อยหนึ่งไฟล์ (เนื่องจากไฟล์ไม่มีอยู่หรือคุณไม่ได้รับอนุญาตให้อ่าน) อย่าเพิกเฉย หากชื่อไฟล์ทั้งหมดที่ระบุไม่ถูกต้องจะไม่แสดงผลใด ๆ หากไม่มีการกำหนดชื่อไฟล์ให้อ่านจากอินพุตมาตรฐาน อ่านจากอินพุตมาตรฐานเท่านั้นหากไม่มีการกำหนดชื่อไฟล์หรือ-ได้รับ เอาท์พุต เอาท์พุทโปรแกรมประสงค์จะออกมาตรฐานการป้อนข้อมูลที่มีเส้นเลขจึง (คุณอาจคิดว่าการป้อนข้อมูลที่มี\n, \r\nหรือ\rปลายสายรับแล้วแต่จำนวนใดจะสะดวกสำหรับคุณ แต่ที่หนึ่งระบุ): <5 spaces>1<tab><content of line 1 of input> <5 spaces>2<tab><content of line 2 of input> ... …

9
เคล็ดลับสำหรับการเล่นกอล์ฟใน Applescript
คุณมีเคล็ดลับอะไรสำหรับการเล่นกอล์ฟใน Applescript ฉันกำลังมองหาแนวคิดที่สามารถนำไปใช้กับปัญหารหัสกอล์ฟโดยทั่วไปซึ่งอย่างน้อยค่อนข้างเฉพาะ Applescript (เช่น "ลบความคิดเห็น" ไม่ใช่คำตอบ)
13 code-golf  tips 

1
Code-Golf Ascii Art Mini-Golf
Intro มาเล่นมินิกอล์ฟกัน! ลูกกอล์ฟเป็นตัวแทนจากหลุมโดยที่. Oคุณต้องการที่จะได้รับหลุมในหนึ่งในทุก ๆ หลุม แต่คุณไม่ดีที่จะวาง ในความเป็นจริงคุณปฏิเสธที่จะพยายามวางแนวทแยงมุม! เพียงขึ้นลงและไปทั้งสองข้าง คุณวางแผนที่จะโกงโดยการวางกันชนพิเศษ\และ/เพื่อให้คุณสามารถใส่ลูกบอลด้วยการยิงครั้งเดียว ลูกบอลกระดอนจากกันชนที่มุมฉากดังที่แสดงในภาพนี้ อย่าลืมโทรนัดของคุณ! บอกเราว่าคุณกำลังวางทิศทางใด หลุม 1:หลุมแรกนั้นง่ายยิงตรง! ไม่จำเป็นต้องวางกันชนที่นี่ การป้อนข้อมูล: . O เอาท์พุท: right . O 2:อีกพื้นฐานหนึ่งเลี้ยวสั้น ลูกบอลถูกกระแทกกันชนลงในหลุม การป้อนข้อมูล: . O เอาท์พุท: left / . O หรือ down . O / 3:บางหลุมมีกันชนอยู่แล้ว! การป้อนข้อมูล: . \O เอาท์พุท: right . \O \/ หรือ right / …

3
แยกคำเป็นคำอื่น ๆ (เช่น“ afterglow” =“ aft” +“ erg” +“ low”)
นี่คือสิ่งที่คุณพูดออกมา! เขียนโปรแกรมหรือฟังก์ชั่นที่ใช้รายการคำและสร้างรายการของการแยกส่วนที่เป็นไปได้ทั้งหมดสำหรับแต่ละคำ ตัวอย่างเช่น: (หมายเหตุ: นี่เป็นเพียงการสุ่มตัวอย่างเล็ก ๆ เพื่อเป็นตัวอย่างเท่านั้นผลลัพธ์ที่แท้จริงนั้นมีมากมายมหาศาล) afterglow = after + glow afterglow = aft + erg + low alienation = a + lie + nation alienation = a + lien + at + i + on alienation = a + lien + at + ion alienation = alien + …

15
เลือกไม้ที่ยาวที่สุด
คุณเป็นนักเขียนโปรแกรมอายุน้อยที่อาศัยอยู่กับเพื่อนสนิทอีก 2 คน คุณต้องทำทุกอย่างที่ต้องทำในบ้านทุกสัปดาห์และคุณตัดสินใจว่าใครเป็นคนเลือกโดยใช้ไม้เท้า คนที่เลือกไม้ที่สั้นที่สุดจะสูญเสียและทำหน้าที่เหลือเกิน เนื่องจากคุณเป็นโปรแกรมเมอร์และรักการสร้างปริศนาคุณจึงได้ปรับเปลี่ยน "เลือกแท่งที่สั้นที่สุด" ให้เป็นตัวต่อคอมพิวเตอร์ นี่คือกฎของปริศนา คุณจะได้รับเมทริกซ์ 2D โดยที่แต่ละคอลัมน์แสดงถึงแท่ง ในแต่ละคอลัมน์ 1 หมายถึงส่วนหนึ่งของไม้และ 0 เป็นพื้นที่ว่าง เมื่อไปจากบนลงล่างในแต่ละคอลัมน์เริ่มแรกคุณมี0และทันทีที่คุณกดปุ่ม1เริ่มและส่วนที่เหลือของคอลัมน์จะเต็มไปด้วย1เพียง คุณสามารถเขียนโปรแกรมของคุณเพื่อเลือกหนึ่งคอลัมน์ ขนาดของไม้เท้าในคอลัมน์นั้นจะเป็นตัวกำหนดผู้ชนะ / ผู้แพ้ ขนาดของแท่ง == จำนวน 1s ในคอลัมน์นั้น อย่างไรก็ตามโปรแกรมนั้นสามารถมีความซับซ้อนของเวลาเชิงเส้นตรงที่เลวร้ายที่สุดเท่านั้น ในฐานะที่คุณทุกคนเป็นโปรแกรมเมอร์คุณจะรู้ว่าโปรแกรมของคนอื่นกำลังถ่ายภาพเวลาที่จำกัดความซับซ้อน งานของคุณคือ: เขียนโปรแกรมหรือฟังก์ชั่นที่รับอินพุตในรูปแบบ 2D หรืออาร์เรย์ของสตริง อินพุตสามารถนำมาจาก STDIN / prompt / console หรืออาร์กิวเมนต์ของฟังก์ชัน หากคุณกำลังอ่านอินพุตจาก STDIN / พรอมต์คุณสามารถสันนิษฐานได้ว่าการอ่านอินพุตและการแปลงเป็นอาเรย์นั้นใช้เวลา 0 (แม้ว่ารหัสจะต้องมีในคำตอบของคุณ) กำหนดคอลัมน์ด้วยแท่งที่ยาวที่สุดในนั้น เอาต์พุตสามารถเป็นค่าส่งคืนของฟังก์ชันหรือไปยัง STDOUT / …

8
ผลรวมหลักของสัมประสิทธิ์ทวินามกลาง
ภารกิจคือเพื่อดูว่าคุณสามารถคำนวณ n เลือก n / 2 ได้เร็วกว่าฟังก์ชั่นบิวอินในไพ ธ อน แน่นอนสำหรับ n ที่มีขนาดใหญ่นี่คือตัวเลขที่ค่อนข้างใหญ่ดังนั้นแทนที่จะเอาท์พุททั้งจำนวนคุณควรเอาท์พุทผลรวมของตัวเลข ตัวอย่างเช่นสำหรับคำตอบคือn = 100000 135702สำหรับมันเป็นn=10000001354815 นี่คือรหัสหลาม: from scipy.misc import comb def sum_digits(n): r = 0 while n: r, n = r + n % 10, n / 10 return r sum_digits(comb(n,n/2,exact=True)) (highest n on your machine using your code)/(highest …

1
การทดสอบแบบดั้งเดิมในโรงงานอุตสาหกรรม
พื้นหลัง Manufactoriaเป็นเกมเกี่ยวกับการเขียนโปรแกรม ผู้เล่นจะต้องใช้รูปแบบของภาษาโปรแกรมสองมิติเพื่อทำงานที่สมบูรณ์ หากคุณไม่เคยได้ยินมาก่อนวิธีที่ง่ายที่สุดในการเรียนรู้คือการลองเล่นเกมแรก ๆ ท้าทาย ความท้าทายของคุณคือการสร้างโปรแกรมที่ทดสอบความเป็นอันดับหนึ่งของตัวเลข อินพุตจะเป็นชุดของเครื่องหมายสีน้ำเงิน N ในคิว ถ้า N เป็นค่าเฉพาะโปรแกรมของคุณควรยอมรับ (ย้ายหุ่นยนต์ไปจนจบ) ถ้า N เป็นคอมโพสิตโปรแกรมของคุณควรจะปฏิเสธมัน (วางไว้บนพื้นที่ใดที่หนึ่ง) ตัวเลือกการส่ง เนื่องจากนี่เป็นความท้าทายที่ซับซ้อนกว่าความท้าทายทั่วไปของ Manufactoria ฉันจึงตัดสินใจอนุญาตให้มีวิธีเพิ่มเติมในการส่งคำตอบของคุณ วนิลา ฉันได้สร้างระดับที่กำหนดเอง 13x13 เพื่อสร้างและทดสอบการส่ง ระดับการทดสอบที่กำหนดเองมีดังนี้ ระดับที่กำหนดเอง 13x13 เกมดังกล่าวอนุญาตให้มีเพียง 8 กรณีทดสอบในระดับที่กำหนดเอง แต่การสร้างของคุณควรจะสามารถจัดการกับจำนวนธรรมชาติใด ๆ N ซึ่งถูก จำกัด โดยหน่วยความจำที่มีอยู่เท่านั้น สำหรับวัตถุประสงค์ในการให้ข้อมูลกรณีทดสอบที่มีให้ในระดับที่กำหนดเองมีดังนี้: 1 -> reject 2 -> accept 4 -> reject 5 -> …

10
ทวีคูณ Quaternions
เขียนฟังก์ชั่นที่มีชื่อหรือโปรแกรมที่คำนวณผลิตภัณฑ์ quaternion ของสอง quaternions ใช้น้อยที่สุดเท่าที่เป็นไปได้ quaternions Quaternionsเป็นส่วนขยายของจำนวนจริงที่เพิ่มเติมขยายจำนวนเชิงซ้อน แทนที่จะเป็นหน่วยจินตภาพหน่วยเดียวiควอเทอร์เนียนใช้หน่วยจินตนาการสามหน่วยi,j,kที่สนองความสัมพันธ์ i*i = j*j = k*k = -1 i*j = k j*i = -k j*k = i k*j = -i k*i = j i*k = -j (นอกจากนี้ยังมีตารางเหล่านี้ในหน้า Wikipedia ) ในคำพูดหน่วยจินตภาพแต่ละหน่วยกำลังสอง-1และผลิตภัณฑ์ของหน่วยจินตภาพที่แตกต่างกันสองหน่วยคือหน่วยที่สามที่เหลือซึ่ง+/-ขึ้นอยู่กับว่ามีการปฏิบัติตามลำดับวงโคจรหรือ(i,j,k)ไม่ (เช่นกฎมือขวา ) ลำดับการคูณมีความสำคัญ quaternion ทั่วไปเป็นการรวมกันเชิงเส้นของส่วนจริงและสามหน่วยจินตภาพ (a,b,c,d)ดังนั้นจึงมีการอธิบายโดยสี่ตัวเลขจริง x = a + b*i + c*j …

4
รูปแบบของ Golf String () ตรงกันข้าม
สลับวิธีการจัดรูปแบบ Formatวิธีการของการเรียน String (หรือ equivallent เช่นsprintf) มีให้บริการในภาษามากที่สุด โดยทั่วไปจะใช้สตริง "รูปแบบ" ซึ่งอาจมีตัวยึดตำแหน่งที่มีการจัดรูปแบบพิเศษบางอย่างและจะแทรกค่าเป็นศูนย์หรือมากกว่านั้นแทนตัวยึดตำแหน่งเหล่านั้น งานของคุณคือการใช้ฟังก์ชั่นผกผันในภาษาที่คุณเลือก API ชื่อวิธีที่ควรจะเป็นอย่างใดอย่างหนึ่งหรือformat1deformat อินพุต : พารามิเตอร์ที่ 1 จะเป็นสตริง "รูปแบบ" เช่นเดียวกับในรูปแบบวิธีดั้งเดิม พารามิเตอร์ที่สองจะเป็นสตริงการแยกวิเคราะห์ (ดูตัวอย่างด้านล่าง) ไม่มีพารามิเตอร์อื่น ๆ ที่จำเป็นและไม่ได้รับอนุญาต เอาท์พุท : อาร์เรย์ (หรือค่าที่เทียบเท่ากับภาษาที่คุณเลือก) ซึ่งแตกออกมาอย่างสอดคล้องกับตัวยึดตำแหน่งในรูปแบบ ตัวยึดตำแหน่งมี{0}, {1}, {2}ฯลฯ ในกรณีที่รูปแบบไม่ดีคุณอาจโยนข้อผิดพลาดหรือคืนสิ่งที่คุณต้องการ ในกรณีที่อินพุตไม่ถูกต้องคุณอาจโยนข้อผิดพลาดหรือคืนสิ่งที่คุณต้องการ การป้อนข้อมูลที่ไม่ถูกต้องเป็นเช่นนั้นไม่สามารถสร้างขึ้นโดยใช้ String.Format '{0}{0}', 'AAB'สตริงรูปแบบเดียวกันตัวอย่างเช่น: ตัวอย่าง deformat('{0} {1}', 'hello world') => ['hello', 'world'] deformat('http{0}://', 'https://') => …
13 code-golf  string 

1
การหลอมรวมดอกไม้ไฟ
ภาพรวม รับรายการดอกไม้ไฟa-zและเวลา3-78จัดเรียงฟิวส์ให้สว่างในเวลาที่ถูกต้อง บรรทัดของอินพุตถูกกำหนดเป็นตัวอักษรและตัวเลขคั่นด้วยช่องว่าง: a 3 b 6 c 6 d 8 e 9 f 9 ว่าตัวอย่างแสดงให้เห็นว่าพลุaจำเป็นต้องแสงในเวลา3, bและcทั้งที่6, dที่8มีeและทั้งที่f 9แต่ละบรรทัดสอดคล้องกับแผนที่เดียว เอาท์พุทเป็นแผนที่ฟิวส์ / ดอกไม้ไฟสำหรับแต่ละบรรทัดโดยใช้สัญลักษณ์|-เพื่อแสดงฟิวส์และตัวอักษรเพื่อแสดงดอกไม้ไฟ -เชื่อมต่อฟิวส์ฟิวส์และดอกไม้ไฟซ้ายโดยตรง / ขวาของมันในขณะที่|เชื่อมต่อกับผู้ที่ฟิวส์เหนือ / ด้านล่าง ยกตัวอย่างเช่นฟิวส์||จะไม่ได้เชื่อมต่อและมี-| ตัวอย่างเช่นสองคำตอบที่เป็นไปได้ข้างต้นคือ: ---a ---------f | ||| || |-c ||| de --|--d a|| | b | |c f e b แผนที่ฟิวส์ทั้งหมดควรเริ่มต้นด้วยซิงเกิล-ที่มุมซ้ายบน นั่นคือจุดที่คุณจุดชนวนฟิวส์ ฟิวส์แต่ละตัวใช้เวลาหนึ่งวินาทีในการเผา อย่างที่คุณเห็นการaเข้าถึงนั้นจะเกิดขึ้นในสามวินาทีในไดอะแกรมทั้งสองbในหกและอื่น …

1
Courier Ception
Courier Ception โปรแกรมต้องยอมรับสตริงใด ๆ เป็นอินพุตและเอาต์พุตอิมเมจพิกเซลที่แสดงสตริงอินพุตใน Courier ตัวอักษรทั้งหมดที่มี 'หลุม' (เช่นabdegopqABDPQRฯลฯ ) ที่ล้อมรอบด้วยพิกเซลสีดำจะต้องเติมด้วยสีดำ อินพุต โปรแกรมต้องสามารถยอมรับสตริง ASCII ใด ๆ เป็นอินพุต อินพุตอาจเป็นวิธีที่คุณต้องการตราบใดที่โค้ดโปรแกรมไม่จำเป็นต้องเปลี่ยนแปลงเพื่อยอมรับอินพุตอื่น (ยกเว้นเช่นชื่อไฟล์ของไฟล์ที่จะอ่าน) ไม่มีช่องโหว่มาตรฐาน คุณสามารถสมมติว่าแต่ละอินพุตมีจดหมายที่พิมพ์ได้อย่างน้อยหนึ่งตัว เอาท์พุต ผลลัพธ์จะต้องเป็นกราฟิกพิกเซลแบบขาวดำ (ไม่มีสีเทา) ที่แสดงสตริงที่เขียนใน Courier (ในสีดำ, สีขาวพื้นหลัง) โดยระบุ 'หลุม' ที่ระบุ แบบอักษรของสตริงทั้งหมดจะต้องคงที่ (ซึ่งหมายความว่าไม่มีการปรับขนาดที่แตกต่างกันสำหรับแต่ละตัวอักษรที่แตกต่างกัน) เพื่อให้ตัวอักษรขนาดเต็ม (เช่นABCDEFGHIJKLMNOPRSTUVWXYZแต่ j และ Q นั้นใหญ่กว่า) ต้องมีความสูงอย่างน้อย 10px (คุณไม่จำเป็นต้องเขียนลงในไฟล์การแสดงผลใด ๆ ก็โอเคตราบเท่าที่มันถูกสร้างขึ้นเป็นพิกเซลกราฟิคเช่นผ้าใบใน JavaScript) กรุณาโพสต์กราฟิกนี้พร้อมคำตอบของคุณ อนุญาตให้เข้าถึงไลบรารี courier.ttf / font …

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