一台成像設備一次會製造兩張數位圖片,兩張圖最終會被拼起來組合成一張,由於兩張圖的接口並不一定能完全吻合,所以必須量測接口的粗糙程度。
一張數位圖片由兩種字元所組成,"X" 與 " " (空白字元),每張圖的寬度一定是25欄寬,然而長度並不固定,假設為N列。圖的最左邊第1欄的每一列一定全為"X",第1欄的X向右延伸出去直到遇到空白字元為止,構成圖的左半邊。
類似地,第25欄的每一列一定是"X",向左延伸出去直到遇到空白字元為止,為圖的右半邊。
一張圖看起來可能像這樣:
Left Right
XXXX XXXXX
XXX XXXXXXX
XXXXX XXXX
XX XXXXXX
XXXX XXXX
XXX XXXXXX
1 25圖中的每一列會被零到多個空白字元隔開成左右兩邊,任何一列最多只會有一個連續的空白區塊。
給定一張圖,你必須計算當圖的左右兩邊拼湊起來之後,中間空白區域的大小,這裡指的是中間所有空白字元的總數。
圖中的兩邊拼湊起來的方式為,把兩邊的圖水平平移靠在一起,直到左邊任何一列的"X"碰到右邊圖形的"X"為止,不會有旋轉、扭曲或歪斜的情形,僅僅只是整塊水平移動靠向另外一邊。
注意:原始的圖形可以已經連接在一起,這時並不需要做水平移動。
Input
輸入會有多組測試資料,每組資料的格式如下:
- 第一列為整數N,表示圖形的長度有幾列,其值大於0小於13,此數值前面不會有多餘的空白字元。
- 接下來的N列會畫出圖形的樣子,每一列剛好會是25個字元,前面最少有一個字元會是X,之後會接零到多個空白字元,最後再接上1到多個X。
當程式讀到N=0時表示輸入結束。
Output
針對每一組給定的輸入資料,你的程式必須算出空白區域的大小(圖形拼起來後中間所有空白字元的總數)。
Sample Input
4
XXXX XXXXX
XXX XXXXXXX
XXXXX XXXX
XX XXXXXX
2
XXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXX
1
XXXXXXXXX XX
3
XXXXXX XXXXXXXXXXXXXXXXXX
XXXX XXXXXXXXXXXXXXXXXX
XXXXXX XXXXXXXXXXXXXXXXXX
0
Sample Output
4
0
0
2
原文出處
沒有留言:
張貼留言