กำหนดรูปแบบที่แสดงรายการความยาวและสตริงที่แสดงความยาวเหล่านั้นตรงกันหรือไม่
สำหรับผู้ที่สนใจคำถามนี้เทียบเท่ากับการตรวจสอบว่าแถวหรือคอลัมน์ของNonogramอาจถูกต้อง อย่างไรก็ตามฉันละเว้นภาษาทั้งหมดที่เกี่ยวข้องกับ Nonograms เพื่อทำให้คำถามสับสนน้อยลงสำหรับผู้ที่ไม่คุ้นเคยกับปริศนาเหล่านี้
อินพุต
ข้อมูลสองบรรทัดคั่นด้วยบรรทัดใหม่
บรรทัดแรกจะเป็นรายการที่คั่นด้วยช่องว่างของจำนวนเต็มตัวอย่าง:
3 6 1 4 6
บรรทัดนี้อธิบายรูปแบบของการเว้นวรรคที่มีขนาดเท่ากับรายการจำนวนเต็มคั่นด้วยช่องว่างที่ไม่ทราบความยาวบวกที่ไม่รู้จักที่บรรทัดที่สองต้องตรงกัน อาจมีช่องว่างที่จุดเริ่มต้นและจุดสิ้นสุดของสตริงที่ตรงกัน
บรรทัดที่สองจะเป็นบรรทัดที่อาจหรืออาจไม่ตรงกับรูปแบบในบรรทัดที่หนึ่ง มันประกอบด้วยทั้งหมดของ
#
, และx
_
บรรทัดนี้รับประกันว่าอย่างน้อยตราบใดที่ผลรวมของจำนวนเต็มในบรรทัดแรกบวกกับจำนวนของจำนวนเต็มชัดเจนลบ 1และสามารถยาวได้ ดังนั้นบรรทัดที่สองในกรณีนี้จะต้องมีความยาวอย่างน้อย(3+6+1+4+6) + (5) - 1
24 ตัวอักษร นี่คือตัวอย่างอักขระ 24 บรรทัดที่ตรงกับรูปแบบในบรรทัดแรก:###_######_#_####_######
ความหมายของสัญลักษณ์:
#
นี่แสดงให้เห็นถึงกล่องที่เต็มไปx
นี่แสดงถึงกล่องที่ทำเครื่องหมายว่า "รับประกันว่าว่างเปล่า"_
นี่แสดงถึงกล่องที่ไม่รู้จัก / ไม่ถูกทำเครื่องหมาย
เป้าหมาย
ความคิดคือ:
- ตรวจสอบว่าบรรทัดที่สองอาจเป็นแถวที่ถูกต้องที่ตรงกับรูปแบบของบรรทัดแรก
- คุณต้องพิมพ์ข้อความแสดงข้อผิดพลาดที่ไม่คลุมเครือ (วิธีที่คุณเลือกให้เป็นเช่นนั้นขึ้นอยู่กับคุณตัวอย่างด้านล่างเขียน
ERROR
แต่ไม่จำเป็นต้องเป็นตัวอักษร 5 ตัว) หากช่องว่างที่ไม่รู้จักไม่สามารถกรอกด้วย#
หรือx
ตรงกับช่องแรก ไลน์.
- คุณต้องพิมพ์ข้อความแสดงข้อผิดพลาดที่ไม่คลุมเครือ (วิธีที่คุณเลือกให้เป็นเช่นนั้นขึ้นอยู่กับคุณตัวอย่างด้านล่างเขียน
- พิมพ์ดัชนีดัชนีศูนย์ของจำนวนเต็มที่อยู่ในแถวอย่างสมบูรณ์คั่นด้วยช่องว่าง หากมีความคลุมเครือไม่พิมพ์ดัชนี
ตัวอย่าง:
Input: | Output: | Reason:
--------------------------------------------------------------------------
3 6 1 4 6 | 0 1 2 3 4 | This is a complete string that
###x######x#x####x###### | | matches perfectly.
--------------------------------------------------------------------------
1 2 1 | 0 1 2 | There is no ambiguity which filled cells
#____xx___##__x_# | | correspond to which parts of the pattern.
--------------------------------------------------------------------------
1 2 1 | | I don't know whether the filled block is
____#___x | | part of the 1, 2, or 1, so output nothing.
--------------------------------------------------------------------------
1 2 1 | ERROR | The first unknown cell will create a block that
#_#x_# | | matches either 1 1 or 3, but not 1 2.
--------------------------------------------------------------------------
1 2 1 | 0 2 | Even though we know where all the filled cells
#____# | | must be, only 0 and 2 are actually filled here.
--------------------------------------------------------------------------
1 1 1 1 | | There are so many possible ways to do fill this,
__#_______#____ | | we don't know which indices are actually matched.
--------------------------------------------------------------------------
4 4 | | Again, we don't know WHICH 4 is matched here,
______x####________ | | so output nothing.
--------------------------------------------------------------------------
4 4 | 0 | However, here, there's no room for a previous 4,
__x####________ | | so the displayed 4 must be index 0.
--------------------------------------------------------------------------
3 | ERROR | We can't fit a 3 into a space before or after
__x__ | | the x, so this is impossible to match.
--------------------------------------------------------------------------
5 1 3 | 0 | While we can match the 5, we don't know whether
x#####x____#____ | | the single block matches the 1 or the 3.
--------------------------------------------------------------------------
3 2 3 | 1 | The two has been completely placed,
____##x##____ | | even though we don't know which it is.
กฎ:
คุณสามารถเขียนโปรแกรมหรือฟังก์ชั่นซึ่งรับอินพุตเป็นสตริงตัวคั่น newline หรือจาก STDIN (หรือทางเลือกที่ใกล้เคียงที่สุด) และส่งคืนเอาต์พุตเป็นช่องว่างแบบมีตัวคั่นสตริงหรือพิมพ์ลงใน STDOUT (หรือทางเลือกที่ใกล้เคียงที่สุด) คุณสามารถเลือกที่จะรวมบรรทัดใหม่ต่อท้ายหนึ่งบรรทัดในเอาต์พุตได้
นอกจากนี้ช่องโหว่มาตรฐานซึ่งจะไม่ตลกจะห้าม