ย้อนกลับไปในวันนั้นผู้เรียกเลขหมายอัตโนมัติโทรศัพท์ใช้บัตร punched กับหนึ่งคอลัมน์สำหรับแต่ละหลักของหมายเลขที่จะโทรออก คอลัมน์มีเจ็ดแถว สามแถวแรกแสดงหมายเลข (1,2,3), (4,5,6) และ (7,8,9) ตามลำดับ สามแถวสุดท้ายหมุนการจัดเรียงนี้ 90 °: (1,4,7), (2,5,8) และ (3,6,9) แถวกลางใช้สำหรับ 0 หลักใด ๆ ที่ 1-9 จะมีการเจาะสองรู - หนึ่งในสามแถวแรกและหนึ่งในสามแถวด้านล่าง ศูนย์จะมีการเจาะแถวกลางเท่านั้น ลองจินตนาการถึงคอลัมน์ที่ถูกเจาะสำหรับหมายเลข 6 ( .
ไม่ได้x
ถูกเจาะ, ถูกกด, คำแนะนำทางด้านซ้ายเป็นเพียงเพื่อแสดงการเข้ารหัส):
123 .
456 x
789 .
0 .
147 .
258 .
369 x
เรามองหาแถวที่มีหมายเลขที่เราพยายามโทรออก สำหรับ 6 นี่คือแถวที่สองและแถวที่เก้า สองแถวเหล่านี้ถูกเจาะส่วนที่เหลืออีกห้าแถวจะไม่ถูกยกเลิก นี่คือรูปแบบการเจาะสำหรับตัวเลขทั้งหมด 0-9:
0 1 2 3 4 5 6 7 8 9
123 . x x x . . . . . .
456 . . . . x x x . . .
789 . . . . . . . x x x
0 x . . . . . . . . .
147 . x . . x . . x . .
258 . . x . . x . . x .
369 . . . x . . x . . x
เป้าหมายของคุณคือ (เขียนโปรแกรมหรือฟังก์ชั่น) เจาะการ์ดเหล่านี้ให้ฉัน
อินพุต: ตัวเลขที่ถ่ายในรูปแบบที่เหมาะสม (สตริง, จำนวนเต็ม, รายการจำนวนเต็ม & c.) ไม่เกิน 9999999999999
เอาท์พุท: ตารางของคอลัมน์เจาะที่สอดคล้องกับการป้อนตัวเลข คุณไม่ต้องการส่วนหัวหรือระยะห่างพิเศษที่แสดงด้านบนเพียงคอลัมน์เจาะเอง ชั้นนำ / การขึ้นบรรทัดใหม่ต่อท้ายจะตกลงที่เป็นช่องว่างระหว่างแถว / คอลัมน์ตราบเท่าที่มันมีความสอดคล้อง การพูดตราบเท่าที่พวกเขามีความสอดคล้องกันคุณอาจใช้อักขระใด ๆ (ไม่ใช่ช่องว่าง) เพื่อต่อยและตัวละครอื่น ๆ ที่ไม่ได้พูดถึง
นี่คือรหัส - กอล์ฟดังนั้นรหัสที่สั้นที่สุดจึงชนะ ช่องโหว่มาตรฐานไม่ได้รับอนุญาต
กรณีทดสอบ (ใช้.
สำหรับการ Unpunched x
เพื่อเจาะ):
In: 911
Out: .xx
...
x..
...
.xx
...
x..
In: 8675309
Out: ....x..
.x.x...
x.x...x
.....x.
..x....
x..x...
.x..x.x
In: 5553226
Out: ...xxx.
xxx...x
.......
.......
.......
xxx.xx.
...x..x