ฉันมีปัญหาร้ายแรง ฉันมีไฟล์ข้อความที่ฉันเก็บหมายเลขที่สำคัญของฉัน - ทั้งหมดที่สำคัญ! และสองและสาม ..
ตัวเลขเหล่านี้สำคัญมากที่ฉันไม่สามารถมอบความไว้วางใจให้กับระบบทศนิยมหรือไบนารีเลขใหม่ ฉันเก็บรหัสแต่ละหมายเลขไว้ด้วยกันโดยไม่ระมัดระวังดังนี้:
+--+
| |
+---+ +----+ |
| | | |
+---+ +-------+
~/two.txt
ง่ายและน่าเชื่อถือ: ASCII สองลูปสำหรับหมายเลข 2 โชคไม่ดีสิ่งเหล่านี้มักจะยุ่งเหยิงเมื่อเวลาผ่านไปและตอนนี้ฉันมีเวลายากที่จะทราบว่ามีกี่ลูปในแต่ละไฟล์ นี่คือตัวอย่างบางส่วนที่ฉันทำงานด้วยมือ:
หนึ่ง:
+---+
| |
+--+ |
| |
+--+ |
| |
| |
| |
+--+ +--+
| |
+---------+
สาม:
+---------+
| +-----+ |
| | +-+ | |
| | | | | |
| | +-+ | |
| +-----+ |
+---------+
ที่สี่:
+--------------+
| +--+ +--+ |
| | | | | |
+-|-----|-----|----+
| | | | | | | |
| +--+ +--+ +--+ |
+------------------+
+------------+
| |
+-----+ +-----+ |
| | | |
+-----|-----------+ | |
| | +--+ | | | |
+-+ +--|--|--+ +---------+
| | +-+ | | |
+------+ | | | |
+-------+ | |
|| | |
|+-----+
| |
+---+
ห้า:
+--------+ +--------+ +--------+
| | | | | |
| +--|-----+ +--|-----+ |
| | | | | | | | | |
+-----|--+ +-----|--+ +--------+
| | | |
+--------+ +--------+
คุณช่วยฉันนับลูปของฉันได้ไหม
นี่คือกฎ:
- เนื่องจากฉันเก็บทุกอย่างไว้ในระบบเข้ารหัส ASCII ดังนั้นประสิทธิภาพของพื้นที่จึงเป็นสิ่งสำคัญสำหรับฉัน ดังนั้นนี่คือรหัสกอล์ฟ โปรแกรมที่เล็กที่สุดเป็นไบต์ชนะ
- ลูปถูกวาดด้วยอักขระ +, -, | ทุกมุมในวงถูกวาดอย่างไม่น่าเชื่อ: หนึ่งในอักขระด้านบนและด้านล่าง + จะเป็น | และอีกหนึ่งทางขวาหรือซ้ายจะเป็น - เครื่องหมายสองเครื่องหมาย + ไม่เคยอยู่ติดกัน
- เส้นอาจผ่านไปมาและอยู่ใต้กันและกัน เมื่อข้ามเส้นคุณจะสามารถเห็นเส้น "ใต้" ได้ทันทีบนทั้งสองด้านของเส้น "เกิน"
- โปรแกรมของคุณควรเป็นตัวแทนสตริงของลูป (จาก stdin หรือเป็นพารามิเตอร์ฟังก์ชั่น) และผลิตจำนวน (เพื่อ stdout หรือเป็นค่าตอบแทน)
- ความยาวบรรทัดอาจไม่เหมือนกันในการวาดลูปและอาจมีช่องว่างต่อท้ายในแต่ละบรรทัด
- คุณอาจคิดว่ามีอินพุตอย่างน้อยหนึ่งลูป
ฉันไว้ใจคุณ!
+
หรือไม่?