สายไฟของฉันยุ่งเหยิงทั้งหมด!
มันน่ารำคาญไหมถ้าสายพันกันทั้งหมด? นั่นเป็นสิ่งที่เพิ่งเกิดขึ้นกับฉันดังนั้นฉันต้องการช่วยฉันแก้ให้หายยุ่ง! เพื่อความสะดวกของคุณฉันได้ตัดการเชื่อมต่อทั้งหมดจากอุปกรณ์ แต่พวกเขายังคงเชื่อมต่อกับเต้าเสียบ ความท้าทายของคุณคือหาวิธีแก้ให้หายยุ่ง!
อินพุต
อินพุตจะประกอบด้วยช่องว่างท่อและ Xs (ทั้งสองกรณี) อินพุตจะมีลักษณะดังนี้:
| | | |
X | |
| | x
| X |
| | | |
ทุน X หมายความว่าเส้นลวดด้านซ้ายตัดผ่านเส้นลวดด้านขวาและตัวพิมพ์เล็ก x หมายถึงสิ่งที่ตรงกันข้าม | | | |...บรรทัดแรกและครั้งสุดท้ายจะเป็น คุณอาจรับอินพุตเป็นสตริงที่คั่นด้วยเครื่องหมายจุลภาคอาร์เรย์ของสตริง ฯลฯ รูปแบบไม่เข้มงวดตราบใดที่เหมาะสมและไม่มีข้อมูลเพิ่มเติมใด ๆ
เอาท์พุต
สำหรับความท้าทายนี้ฉันไม่เพียงต้องรู้ว่าฉันจะต้องใช้เวลานานแค่ไหนฉันต้องรู้ว่าต้องทำอย่างไร ดังนั้นเอาท์พุทรายการคู่ที่เป็นจำนวนเต็มด้วยอักขระ R หรือ L ตัวพิมพ์เล็กและใหญ่ซึ่งแสดงว่าสายสองเส้นใดที่ไม่แก้ให้หายยุ่งและทางไหน (R หมายถึงทางซ้ายขวาและในทางกลับกันสำหรับ L) คุณต้องบอกฉันว่าวิธีไหนที่จะเปิดโปงพวกเขา ฉันไม่สามารถคิดออกเอง เอาต์พุตก็มีความยืดหยุ่นเช่นกันตราบใดที่คุณส่งออกจำนวนเต็มคู่ทั้งหมด + ตัวอักษรในลำดับที่ถูกต้องและคุณไม่ได้ส่งออกข้อความไร้สาระพิเศษใด ๆ (วงเล็บ, เครื่องหมายจุลภาคและอื่น ๆ ) สายไฟอาจเป็นศูนย์หรือหนึ่งดัชนี แต่ดัชนีจะต้องเริ่มจากด้านซ้าย โปรดทราบว่าคุณต้องแก้ให้หายจากด้านล่างไม่ใช่ด้านบน รูปแบบผลลัพธ์จะต้องสอดคล้องกันและโปรดระบุว่าคุณแสดงผลอย่างไรหากไม่ชัดเจน กรณีของตัวละครไม่สอดคล้องกัน
ตัวอย่างผลลัพธ์
สำหรับตัวอย่างอินพุตด้านบนเอาต์พุตจะเป็นดังนี้:
2 3 R
3 4 L
1 2 R
รูปแบบผลลัพธ์ที่นี่เป็นรายการที่คั่นด้วยการขึ้นบรรทัดใหม่ของค่าที่คั่นด้วยช่องว่าง นี่คือดัชนี 1
ข้อกำหนดเพิ่มเติม
มันถูกต้องที่จะมี X และ x ซ้อนกันในแนวตั้งมากกว่ากันในลำดับใด เนื่องจากฉันขี้เกียจฉันไม่ต้องการเปลี่ยนสายไฟโดยไม่จำเป็นดังนั้นอย่าเอาท์พุทอะไรสำหรับเคสเหล่านี้ หากฉันพบว่าฉันจะดึงสายเบา ๆ เพื่อให้พวกเขาตรง
นอกจากนี้ยังสามารถใช้ซ้อน X และ x หลายแนวตั้งได้และตราบใดที่สายทั้งสองไม่มีส่วนเกี่ยวข้องในการข้ามอื่น ๆ ฉันไม่ต้องการการเคลื่อนไหวเพิ่มเติมใด ๆ (เพราะฉันขี้เกียจ) ดังนั้นหากตัวละครX X x X x xปรากฏในคอลัมน์โดยไม่มีการข้ามอื่น ๆ ผลลัพธ์ก็ควรจะว่างเปล่า!
ในกรณีที่ไม่ชัดเจน R จะกำจัด X และ L กำจัด x
อาจมีการข้ามลวดสองเส้นในแถวเดียวกันซึ่งในกรณีนี้ลำดับของการแลกเปลี่ยนสองรายการนี้ไม่สำคัญ คุณจะไม่ได้อะไรแบบ| X X |นี้ (มันไม่สมเหตุสมผลเพราะมันหมายความว่าเส้นลวดกลางกำลังถูกตัดผ่านสายไฟทั้งซ้ายและขวา)
ไม่วกวนเสมอ ...
อินพุตอาจเป็นไพพ์เดียว อย่างไรก็ตามอินพุตจะไม่ว่างเปล่า
ทางออกที่ถูกต้องสั้นที่สุดชนะเมื่อวันที่ 20 ธันวาคม!
ตัวอย่างเพิ่มเติม
ตามที่ฉันสัญญาไว้:
ตัวอย่างที่ 1
อินพุต
| | | | | |
| | X x
X | x |
| x | X
X X | |
| | | | | |
เอาท์พุต
1 2 R
3 4 R
2 3 L
5 6 R
1 2 R
4 5 L
3 4 R
5 6 L
ตัวอย่างที่ 2
อินพุต
| | |
X |
| x
| | |
| X
| x
| | |
เอาท์พุต
2 3 L
1 2 R
ตัวอย่างที่ 3
อินพุต
|
เอาต์พุตว่างเปล่า ใช่คุณต้องจัดการกับกรณีนี้
ตัวอย่างที่ 4
อินพุต
| |
X
x
X
x
X
x
X
x
X
x
| |
เอาต์พุตว่างเปล่า แค่เล่น ๆ :).
ตัวอย่างที่ 5
อินพุต
| |
X
X
x
X
x
x
| |
ผลผลิตยังว่างเปล่า ...