#P1493. Machined Surfaces
Machined Surfaces
题目描述
一种成像设备提供了两个机械加工表面的数字图像,这两个表面最终将相互接触组装。需要估计最终接触面的粗糙度。
数字图像由两个字符组成:""和""。每幅图像总是有列,但行数是可变的。第一列总是包含"",属于左侧表面。左侧表面可以从第一列向右延伸为连续的。
同样地,第列总是包含"",属于右侧表面。右侧表面可以从第列向左延伸为连续的。
数字图像表面示意图
Left Right
XXXX XXXXX ←1
XXX XXXXXXX
XXXXX XXXX
XX XXXXXX
. .
. .
. .
XXXX XXXX
XXX XXXXX ←N
↑ ↑
1 25
在图像的每一行中,可能有零个或多个空格字符分隔左侧表面和右侧表面。任何一行中都不会有超过一个空白区域。
对于每幅给定的图像,您需要确定在左右表面接触后仍存在的总"空隙"。"空隙"是指左右表面接触后仍保留的空格总数。
两个表面通过严格水平移动相互接触,直到某一行左侧表面的最右""紧邻该行右侧表面的最左""。在接触过程中,这两个表面保持刚性,仅水平移动。
注意:原始图像可能显示两个表面已经接触,在这种情况下,不需要位移即可估算接触粗糙度。
输入格式
输入由一系列数字图像组成。每个图像数据集具有以下格式:
第一行 - 一个无符号整数,值大于且小于。的第一个数字将是该行的第一个字符。
接下来的行 - 每行正好有个字符;一个或多个,然后零个或多个空格,然后一个或多个。
数据的结束由一个空数据集表示,该数据集的第一行为,且没有后续数据。
输出格式
对于每个作为数据集接收的图像,您需要回复总空隙(表面接触后剩余的空格数)。使用默认输出,每行一个整数。
输入样例
4
XXXX XXXXX
XXX XXXXXXX
XXXXX XXXX
XX XXXXXX
2
XXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXX
1
XXXXXXXXX XX
0
输出样例
4
0
0
题目来源
年北美中东部地区竞赛