4
รหัสคำอธิบายตัวจัดรูปแบบ
การส่งรหัสกอล์ฟที่ประสบความสำเร็จนั้นเป็นไปตามธรรมชาติที่เต็มไปด้วยสัญลักษณ์บ้า ๆ ทั่วทุกแห่ง เพื่อให้เข้าใจง่ายยิ่งขึ้นนักกอล์ฟหลายคนเลือกที่จะรวมคำอธิบายเกี่ยวกับรหัสของตนไว้ด้วย ในคำอธิบายของพวกเขาบรรทัดของรหัสจะกลายเป็นแผนภาพระเบิดในแนวตั้ง ตัวอย่างเช่นหากนี่เป็นรหัสของฉัน: 1_'[3:~2@+]` หนึ่งในไดอะแกรมที่เป็นไปได้มากมายที่ฉันสามารถสร้างได้จะเป็นดังนี้: 1 _' [ ] [3: ] [ ~ ] [ 2@ ] [ +] ` เป้าหมาย ในความท้าทายนี้คุณจะเขียนคำอธิบายเครื่องมือการจัดรูปแบบอัตโนมัติซึ่งใช้บรรทัดของรหัสและสร้างไดอะแกรมที่สามารถเพิ่มข้อความอธิบายได้อย่างง่ายดาย เพื่อที่จะทำให้สิ่งนี้เป็นความท้าทายที่มีประโยชน์มากขึ้นผู้ใช้จะสามารถระบุเนื้อหาของแต่ละบรรทัดได้โดยการจัดเตรียมสตริงการจัดรูปแบบ สตริงการจัดรูปแบบจะเป็นบรรทัดที่สองที่มีตัวอักษรเท่านั้นA-Za-zซึ่งมีความยาวเท่ากับโปรแกรม ตัวอักษรแสดงลำดับที่ตัวอักษรของโปรแกรมควรพิมพ์ในคำอธิบาย นี่คือตัวอย่างของ I / O โดยไม่มีการจัดรูปแบบเหมือนวงเล็บ : 123423 AabcBC 1 2 3 2 3 4 วงเล็บ หากมีอักขระมากกว่าหนึ่งตัวในโปรแกรมที่มีระดับความสำคัญเท่ากันชุดของอักขระนั้นจะทำหน้าที่เป็นบล็อกเดียวของโค้ด (หากเป็นกลุ่ม) หรือชุดของวงเล็บ (หากมีอักขระอื่นอยู่ระหว่าง) กฎทั่วไปนั้นง่าย: อักขระจะไม่ปรากฏในบรรทัดของไดอะแกรมจนกว่าอักขระอื่น ๆ …