คำถามติดแท็ก ascii-art

ความท้าทายนี้เกี่ยวข้องกับการสร้างหรือแยกภาพโดยใช้ตัวอักษรเป็นสี โดยทั่วไปจะใช้เพียง 95 ตัวอักษรที่พิมพ์ได้ (จากทั้งหมด 128 ตัว) ที่กำหนดโดยมาตรฐาน ASCII จากปี 1963

7
คีย์บอร์ดเปียโน ASCII
ปุ่มเปียโนมีความกว้าง 3 ตัวอักษรและสูง 7 ตัว อย่างไรก็ตามหากทุกปุ่มมีความกว้าง 3 ตัวอักษรจะไม่มีที่ว่างพอสำหรับปุ่มสีดำ นั่นเป็นสาเหตุที่ทำให้ปุ่มสีขาวบางส่วนถูกตัดออกบางส่วน ปุ่มสีขาวมี 3 ประเภท กุญแจที่ขาดหายไปครึ่งขวา (R): ____ | | | | | | | | | | | | |___| แป้นที่ขาดหายไปครึ่งซ้าย (L): ____ | | | | | | | | | | | | |___| และปุ่มที่มีครึ่งซ้ายและครึ่งขวาหายไป (M): ___ | | | …

15
วาดบันไดและเลื่อน
งานของคุณคือการสร้างโปรแกรมหรือฟังก์ชั่นที่ใช้เป็นจำนวนธรรมชาติ ( n) ระหว่าง 1 และ 25 (รวม) และพิมพ์การแสดงภาพสามมิติของภาพนิ่งและบันไดที่มีnจำนวนขั้น ข้อมูลจำเพาะของบันไดและสไลด์ บันไดมักจะอยู่ทางด้านซ้ายและเลื่อนไปทางขวา เรากำลังดูมันจากด้านข้างบันไดดังนั้นส่วนหนึ่งของสไลด์จะถูกบดบังในสามระดับบนสุด rungs แสดงด้วยสี่ขีดกลาง ( ----) และด้านข้างของบันไดและเลื่อนด้วยเครื่องหมายทับ ( /และ\) ต่อไปนี้เป็นแผนภาพเพื่อแสดงรูปแบบของช่องว่างที่จำเป็นสำหรับภาพนิ่งที่มีห้าขั้น Slide Blank space count /----/\ 1234/----/\ /----/ \ 123/----/12\ /----/ \ 12/----/1234\ /----/ \ \ 1/----/1\1234\ /----/ \ \ /----/123\1234\ ตัวอย่าง >>1 /----/\ >>3 /----/\ /----/ \ /----/ \ >>4 …

2
วาดเครือข่ายของโหนด
มีเครือข่ายถึง 26 โหนดคือ (ชื่อAไปZหรือaเพื่อzให้เป็นไปตามความปรารถนาของคุณ) โหนดทุกคู่อาจเชื่อมต่อหรือตัดการเชื่อมต่อ โหนดอาจเชื่อมต่อกับมากที่สุด 4 โหนดอื่น ๆ งานของคุณคือการวาดเครือข่ายในแผนภาพ 2D จะได้รับการป้อนข้อมูลเพื่อให้งานนี้เป็นไปได้ (ดูข้อ จำกัด เพิ่มเติมในส่วนเอาต์พุต) รูป อินพุต คู่ของตัวอักษร ( AไปยังZหรือaเพื่อzตามความต้องการของคุณ) พวกเขาจะไม่เรียงลำดับใด ๆ ไม่บังคับ - จำนวนคู่ เอาท์พุต ASCII drawing ที่แสดงลิงก์จริงระหว่างโหนด โหนดจะได้รับจากaการzหรือเพื่อA Zใช้-สำหรับลิงค์แนวนอนและ|สำหรับลิงค์แนวตั้ง ลิงค์ที่อาจจะมีความยาวใด ๆ (ไม่ใช่ศูนย์) แต่พวกเขาควรจะเป็นแนวนอนตรง / เส้นแนวตั้งที่ทำไม่ได้โค้งงอ สามารถเพิ่มช่องว่างได้หากไม่ทำให้รูปภาพเสียโฉม คุณไม่สามารถใช้บิวด์อินที่ช่วยในการจัดวางของกราฟ บิวด์อินที่เกี่ยวข้องกับกราฟอื่น ๆ อาจได้รับอนุญาต (แม้ว่าโซลูชันที่ไม่มีบิวด์อินจะนิยมมากกว่า) รหัสที่สั้นที่สุดชนะ ตัวอย่างข้อมูล อินพุต A B B F …

24
แสดงจังหวะเพลง
คุณรู้ - พวกเขามีลักษณะเช่นนี้: แหล่ง เป้าหมายคือการวาดภาพประกอบเพลงเต้นดังต่อไปนี้: = = = = = = = = == = == = == = ==== == ==== == === = = ======= ======== == ==== = ========= = ================================= กฎคือ: ความกว้างของภาพประกอบคือ 33 สัญลักษณ์ แต่ถ้าคุณต้องการ - อนุญาตเว้นวรรคใด ๆ ที่เกินความกว้างนี้ แต่ละคอลัมน์ทำจากเครื่องหมายเท่ากับ ( =) แต่ละคอลัมน์มีความสูงแบบสุ่ม (ความสูงของคอลัมน์ถัดไปไม่ควรขึ้นอยู่กับความสูงของคอลัมน์ก่อนหน้า) โดยมีค่าตั้งแต่ 1 …

1
ย้อนกลับวงเล็บเหลี่ยมวิศวกร
โปรแกรมเมอร์ทุกคนรู้ว่ารูปสี่เหลี่ยม□สนุกจริงๆ เพื่อทำให้ความสนุกทวีความรุนแรงมากขึ้นแผนภาพที่น่ารักและคลุมเครือเหล่านี้สามารถเปลี่ยนเป็นกลุ่มของวงเล็บสาน ความท้าทายนี้เป็นสิ่งที่ตรงกันข้ามของฉันก่อนหน้านี้ สมมติว่าคุณมีกลุ่มของรูปสี่เหลี่ยมผืนผ้าที่เชื่อมต่อกันดังนี้ +------------+ | | +--+-+ +----+-+ | | | | | | | | | +---+--+ | | | | | | | | | | +--+-+ | +-+--+-+-+-+ | | | | | | | | | | | | | | | | | | …

6
วาดกราฟแท่งของฉัน
คุณได้รับเลือกให้สร้างโปรแกรมที่สร้างแผนภูมิแท่ง ASCII ที่สวยงาม นี่คือรูปแบบอินพุต: [List of words (they can have spaces)] [an integer >= 0] Bar 3 This is so cool 4 IDK-Why 6 อินพุตจะมีหลายบรรทัดในรูปแบบนี้แต่ละอันแทนหนึ่งแถบในกราฟ รูปแบบเอาต์พุตของกราฟจะเป็นดังนี้: _ _ _ _ |_|_|_|_| | | | | | | | + [name of 4th bar] | | + [name of 3rd bar] …

1
การตรวจจับลูป - ไม่ใช่แบบนั้น!
เป้าหมายของความท้าทายนี้คือการค้นหาทิศทางและพื้นที่ที่ล้อมรอบด้วยการวนซ้ำ การป้อนข้อมูล: ตารางสี่เหลี่ยมประกอบด้วยอักขระเหล่านี้ทั้งหมด: ^v<> (เป็นทางเลือกคุณอาจได้รับขนาดของกริดก่อนที่กริดจะเป็นทศนิยมด้วยตัวอักษรนำหน้าส่วนต่อท้ายและอักขระคั่นที่คุณเลือก) การวนซ้ำในกริดเป็นชุดของตัวละครที่กล่าวมาข้างต้นโดยที่หนึ่งจุดไปยังจุดถัดไปชี้ไปที่จุดต่อไปและในที่สุดก็หันกลับไปที่ตัวอักษรตัวแรก ตัวอย่างเช่น: <>>v> >>v ^^<>v ^ >v >^<<< ^<<< >^<v> กริดด้านซ้ายคืออินพุตตัวอย่าง กริดที่ถูกต้องคือลูปที่แยกได้ กริดอินพุตจะไม่มีลูปที่ลูปทั้งหมดหรือหนึ่งลูป คุณไม่ต้องกังวลกับกรณีใด ๆ ที่กริดมีมากกว่าหนึ่งลูป เอาท์พุท: Xถ้าตารางไม่มีห่วงเอาท์พุท ถ้าตารางมีสองลูกศรชี้ไปที่แต่ละอื่น ๆ 0เอาท์พุท หากกริดมีลูปทวนเข็มนาฬิกาให้นับจำนวนอักขระที่อยู่ในลูปรวมถึงเส้นขอบ เอาท์พุทจำนวนนั้น หากตารางมีการวนรอบตามเข็มนาฬิกาให้ทำตามกระบวนการเดียวกันสำหรับการวนรอบทวนเข็มนาฬิกา แต่ให้ลบจำนวนลบนั้นออก ตัวอย่างเช่นกริดอินพุตด้านบนจะมีเอาต์พุต-11: 10 มาจากลูปเองและ 1 จากอักขระที่อยู่ในลูป นี่คือรหัสกอล์ฟ รหัสที่สั้นที่สุดชนะ กรณีทดสอบ: <<^ ^>v ^v< Xเอาท์พุต <<<< ><<< >>^> 0เอาท์พุต <>^^< >>>v> <^^>v <^>>v …

8
ASCII Borromean Rings
ห่วงบอร์เป็นชุดอยากรู้อยากเห็นของสามวงกลมเชื่อมโยงดังกล่าวว่าการกำจัดของหนึ่งของพวกเขาใด ๆ ที่จะยกเลิกการเชื่อมโยงอื่น ๆ ที่สอง: คุณสามารถทำให้ชุดสำหรับตัวคุณเองด้วยแถบยางคู่และแหวน ด้วยแถบยางมากขึ้นมันเป็นเรื่องง่ายที่จะทำให้การใด ๆ ที่เชื่อมโยง Brunnian เขียนโปรแกรมหรือฟังก์ชั่นที่ส่งออก (พิมพ์หรือส่งคืน) การเป็นตัวแทน ASCII-art ของวงแหวน Borromean นี้: +-----+ | | +-----+ | | | | | | +-|---+ | | | | | | | | | +-|---+ | | | | +-|---+ | | | +-----+ บรรทัดอาจมีช่องว่างต่อท้ายและอาจมีการขึ้นบรรทัดใหม่ รหัสที่สั้นที่สุดในหน่วยไบต์ชนะ

16
แสดงอายุแหวนของต้นไม้
บทนำ เมื่อวานนี้ผมเห็นปริศนาวันเกิด ยินดีด้วย!! นอกจากนี้ในสัปดาห์นี้ฉันได้ดูตอนหนึ่งของรายการทีวีกระดูกที่ศพถูกฝังอยู่ใต้ต้นไม้ ในการคำนวณเวลาแห่งความตายพวกเขานับจำนวนต้นไม้ ต้นไม้ดังขึ้นเพราะต้นไม้เติบโตช้าในช่วงฤดูหนาวและเร็วกว่าในช่วงฤดูร้อน ดังนั้นคุณสามารถคำนวณอายุของต้นไม้โดยการนับวง นอกจากนี้คุณสามารถดูเหตุการณ์ธรรมชาติเช่นฤดูฝนหรือฤดูแล้ง ท้าทาย กำหนดจำนวนเต็มn >= 1เป็นอินพุตให้เขียนโปรแกรมเต็มรูปแบบเพื่อเอาท์พุทริงอายุของต้นไม้ เนื่องจากวงแหวนสามารถเปลี่ยนรูปร่างใช้อักขระสามตัวที่แตกต่างกัน ('0', '*', '+') เพื่อแสดงวัฏจักรของสภาพภูมิอากาศ อายุ 1 0 อายุ 2 *** *0* *** อายุ 3 +++++ +***+ +*0*+ +***+ +++++ อายุ 4 0000000 0+++++0 0+***+0 0+*0*+0 0+***+0 0+++++0 0000000 ขนาดของต้นไม้เป็นรูปสี่เหลี่ยมจัตุรัส 2*n - 1 การชนะ รหัสที่สั้นที่สุดในหน่วยไบต์ชนะ

3
คุณสามารถพับ hexomino ให้เป็นลูกบาศก์ได้หรือไม่?
หนึ่งในของเล่นที่ชื่นชอบของเด็กของฉันเป็นชุดเช่นนี้ จริงๆแล้วมันเป็นของเล่นโปรดของฉัน - ฉันเล่นกับมันมาแล้ว นี่คือหนึ่ง: เขียนโปรแกรมหรือฟังก์ชั่นที่ใช้การวาดเส้น ASCII เป็นอินพุตและตัดสินใจว่าจะพับลงในคิวบ์หรือไม่ อินพุต ข้อมูลจะประกอบด้วย hexomino หนึ่งตัวที่สร้างขึ้นจากสี่เหลี่ยมแบบนี้: +-+ | | +-+ ตัวอย่างเช่น heximino อินพุตที่ถูกต้องคือ: +-+ | | +-+-+-+-+ | | | | | +-+-+-+-+ | | +-+ เอาท์พุต ค่าความจริงหาก hexomino สามารถพับลงในคิวบ์หรือ ค่าความผิดพลาดเป็นอย่างอื่น เพื่อช่วยเราทำงานนิดหน่อยวิกิพีเดียมีกราฟิกที่ดีของ: 35 hexominoes ทั้งหมด: Hexominoes ทั้ง 11 ตัวที่พับเป็นลูกบาศก์: หมายเหตุ อินพุต hexominoes อาจมีการหมุนหรือการสะท้อนใด ๆ …

16
มาดูการกระทำกัน!
ใครไม่รักภาพยนตร์แอ็คชั่นที่มีรถยนต์ที่มีเสียงดังโดยเฉพาะอย่างยิ่งภาพยนตร์ที่มีปัญหามากมาย ใครไม่ชอบช็อตแอ็คชั่นในศิลปะ ASCII? ฉากคือ: รถสองคันเริ่มที่ด้านตรงข้ามของถนนตรง (โดยมีช่องว่างระหว่าง 60) พวกเขาเริ่มขับต่อกันด้วยความเร็วคงที่ รถไปทางซ้ายไดรฟ์ที่ 1 ช่องว่างต่อวินาทีและหนึ่งไปทางขวาไดรฟ์ 2 ช่องว่างต่อวินาที เห็นได้ชัดว่ารถยนต์ไม่สามารถผ่านกันและกันดังนั้นสำหรับn ≥ 20ฉากจะมีรถสองคันชนกับหมวกขึ้นในตำแหน่งที่เกิดความผิดพลาด ในฐานะที่เป็นคนรักภาพยนตร์ฉันต้องการหยุดฉากชั่วคราวเพื่อเพลิดเพลินกับความงามของมัน ได้รับจำนวนเต็มn(อาร์กิวเมนต์ของฟังก์ชันหรือ STDIN) ซึ่งแทนจำนวนวินาทีจากจุดเริ่มต้นของฉากแสดงฉากในขณะนั้น นี่คือฉากเริ่มต้นโดยมี 60 ช่องว่างระหว่างล้อหน้า: __ __ _/ \_ _/ \_ o o o o นี่คือฉากหลังจาก 11 วินาที: __ __ _/ \_ _/ \_ o o o o และนี่คือสิ่งที่ดูเหมือนว่าหลังจากการแข่งขัน (โปรดทราบว่า bonnets ขึ้นหลังจากความผิดพลาด): …

6
โครงสร้างอิฐมีความเสถียรหรือไม่?
ให้เป็นตัวแทนของอิฐก่ออิฐมาตรฐานเป็น[__](และไม่สนใจความจริงที่ว่าด้านบนเปิด) เมื่อก้อนอิฐเหล่านี้ถูกซ้อนทับกันชั้นอื่น ๆ จะถูกชดเชยครึ่งอิฐเหมือนปกติในการก่อสร้างอิฐ: [__][__][__][__] [__][__][__][__] [__][__][__][__] [__][__][__][__] ดังนั้นอิฐแต่ละก้อนมีเพื่อนบ้านได้มากที่สุดหกคนและเป็นไปไม่ได้ที่อิฐสองก้อนจะเรียงตัวในแนวตั้งได้โดยตรง จุดสำคัญคือการจัดเรียงของอิฐเหล่านี้ไม่ได้ถูกทำให้ตายแต่มีเพียงแรงโน้มถ่วง ดังนั้นสิ่งสำคัญคืออิฐแต่ละก้อนในโครงสร้างมีความเสถียรไม่เช่นนั้นโครงสร้างทั้งหมดจะไม่เสถียร อิฐมีความเป็นไปได้สามทาง: อิฐใด ๆ บนพื้นดิน (บรรทัดที่ต่ำที่สุดของอิฐ) มีความเสถียร อิฐใด ๆ ที่มีสองก้อนด้านล่างโดยตรงจะมีเสถียรภาพ: [__] <- this brick is stable [__][__] <- because these bricks hold it up อิฐใด ๆ ที่มีอิฐทั้งด้านบนและด้านล่างบนด้านเดียวกันนั้นจะคงที่: [__] [__] [__] [__] <- these middle bricks are stable [__] [__] because …

4
สร้างไดอะแกรม Voronoi (ตัวแปร ASCII)
สมมติว่าคุณได้รับตัวอักษรตัวพิมพ์ใหญ่ที่แตกต่างกันกระจัดกระจายในอาร์เรย์ของเซลล์ที่ว่างเปล่าเป็นรูปสี่เหลี่ยมผืนผ้า แต่ละเซลล์ในอาเรย์เป็นของตัวอักษรที่อยู่ใกล้ที่สุดซึ่งกำหนดเป็นตัวอักษรที่เข้าถึงได้ในจำนวนขั้นตอนแนวนอนและ / หรือแนวตั้งที่น้อยที่สุด - ไม่มีขั้นตอนในแนวทแยง (หากเซลล์มีความยาวเท่ากันจากตัวอักษรที่ใกล้ที่สุดสองตัวขึ้นไปมันจะเป็นตัวอักษรตัวใดตัวหนึ่งตามลำดับตัวอักษรเซลล์ที่มีตัวอักษรตัวพิมพ์ใหญ่อยู่ในนั้นจะเป็นตัวอักษรนั้น) Boundary -cells เป็นแนวนอนหรือแนวตั้ง ติดกับเซลล์อย่างน้อยหนึ่งเซลล์ที่ไม่ได้เป็นของตัวอักษรที่พวกมันเป็นของตัวเอง เขียนโปรแกรมย่อยของโพรซีเดอร์ที่มีพฤติกรรมดังต่อไปนี้สร้างแผนภาพ Voronoi ... อินพุต : สตริง ASCII ใด ๆ ที่ประกอบด้วยจุดตัวอักษรตัวพิมพ์ใหญ่และบรรทัดใหม่เท่านั้นเช่นเมื่อพิมพ์จะแสดงอาร์เรย์สี่เหลี่ยมของชนิดที่อธิบายข้างต้นโดยมีจุดที่ทำหน้าที่เป็นช่องว่าง เอาท์พุท : การพิมพ์ของสตริงการป้อนข้อมูลที่มีแต่ละเซลล์ว่างขอบเขตแทนที่ด้วยรุ่นตัวพิมพ์เล็กของตัวอักษรมันเป็นของ (โปรแกรมย่อยทำการพิมพ์) ตัวอย่างที่ 1 การป้อนข้อมูล: ......B.. ......... ...A..... ......... .......D. ......... .C....... .....E... ......... เอาท์พุท: ...ab.B.. ....ab.bb ...A.abdd aa...ad.. cca.ad.D. ..caeed.. .C.ce.edd ..ce.E.ee ..ce..... ร่างที่ไฮไลต์ขอบเขต: ตัวอย่างที่ 2 …

8
กำลังสร้างแท็บกีตาร์หรือไม่
เขียนโปรแกรมที่สั้นที่สุดที่สร้างแท็บกีต้าร์สำหรับคอร์ดที่ได้รับเป็นอินพุต เพื่อให้มือกีต้าร์ในหมู่คุณไม่มีข้อได้เปรียบและเพื่อให้มันกำหนดขึ้น (และอาจง่ายกว่าในการเขียนโค้ด) นี่คือรูปแบบเดียวของคอร์ดที่ได้รับอนุญาต: Major chords: E F F# G G# A A# B C C# D D# e 0---1---2---3---4---0---1---2---3---4---5---6--- B 0---1---2---3---4---2---3---4---5---6---7---8--- G 1---2---3---4---5---2---3---4---5---6---7---8--- D 2---3---4---5---6---2---3---4---5---6---7---8--- A 2---3---4---5---6---0---1---2---3---4---5---6--- E 0---1---2---3---4---0---1---2---3---4---5---6--- Minor chords: Em Fm F#m Gm G#m Am A#m Bm Cm C#m Dm D#m e 0---1---2---3---4---0---1---2---3---4---5---6--- B 0---1---2---3---4---1---2---3---4---5---6---7--- G 0---1---2---3---4---2---3---4---5---6---7---8--- …

23
เติมน้ำซุปด้วยตัวอักษร
ดูเหมือนว่าเราไม่เคยได้รับเหนื่อยของความท้าทายที่เกี่ยวข้องกับตัวอักษร ... สูตรอาหาร ป.ร. ให้ไว้ สตริงของตัวอักษรSและ จำนวนเต็มบวกM, N, ผลิตซุปตัวอักษรที่มีตัวอักษรของSการครองตำแหน่งสุ่มในชามสี่เหลี่ยมขนาดM× N, กรอบด้วยอักขระที่ไม่ใช่ตัวอักษรที่ไม่ใช่พื้นที่ที่จะเป็นตัวแทนของขอบของชาม ตำแหน่งที่ไม่ได้ใช้ด้วยตัวอักษรควรจะแสดงเป็นช่องว่าง ดูตัวอย่างด้านล่าง กฎ Aditional ขนาดM× Nหมายถึงการตกแต่งภายในของชาม ขนาดรวมทั้งขอบเป็น×M+2N+2 อักขระแต่ละตัวจากSควรปรากฏขึ้นหนึ่งครั้งในชามในตำแหน่งอื่น นั่นคืออักขระหนึ่งตัวไม่สามารถเขียนทับอักขระอื่นได้ S อาจมีรายการที่ซ้ำกัน ตัวอย่างเช่นถ้าSเป็นสตริง'abcc'ซุปจะต้องมีหนึ่งaหนึ่งbและสองc(ทั้งหมดอยู่ในตำแหน่งที่แตกต่างกัน) ปัจจัยการผลิตจะตอบสนองข้อ จำกัด M >= 1 , ,N >= 11 <= length(S) <= M*N ขอบของชามสามารถเป็นอักขระที่ไม่ใช่ตัวอักษรที่ไม่ใช่ช่องว่างสอดคล้องกันระหว่างการรันโปรแกรมและค่าอินพุต ตำแหน่งตัวอักษรในชามจะถูกสุ่มดังนั้นผลลัพธ์อาจแตกต่างกันทุกครั้งที่โปรแกรมทำงานด้วยอินพุตเดียวกัน ได้รับการป้อนข้อมูลทุกชุดที่เป็นไปได้ของตำแหน่งตัวอักษรควรจะมีความน่าจะเป็นที่ไม่ใช่ศูนย์ เนื่องจากสิ่งนี้ไม่สามารถตรวจสอบได้จากการรับรู้บางอย่างของโปรแกรมโปรดอธิบายวิธีการที่รหัสของคุณเติมเต็ม อนุญาตให้นำช่องว่างรอบตัวหรือต่อท้ายรอบขอบได้ Sจะประกอบด้วยตัวอักษรตัวพิมพ์ใหญ่เท่านั้น หากคุณต้องการคุณสามารถเลือกที่จะใช้ตัวอักษรพิมพ์เล็กเท่านั้น อินพุตและเอาต์พุตยืดหยุ่นตามปกติ ตัวอย่างเช่นเอาต์พุตสามารถเป็นสตริงที่มีการขึ้นบรรทัดใหม่อาร์เรย์อักขระ 2D หรือรายการบรรทัด โปรแกรมหรือฟังก์ชั่นที่ได้รับอนุญาตในการเขียนโปรแกรมภาษา ช่องโหว่มาตรฐานเป็นสิ่งต้องห้าม รหัสที่สั้นที่สุดในหน่วยไบต์ชนะ …

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