#5202. [USACO14FEB] Mirror Field B
[USACO14FEB] Mirror Field B
USACO2014FEB 铜组第一题
题目翻译
农夫约翰把一些旧镜子放在房子外面,他的牛像往常一样调皮,把镜子偷走了!
牛们把镜子布置在一个 ( N ) 行 ( M ) 列(( 1 <= N, M <= 1000 ))的矩形场地里。在每个方格中,它们放置了一个双向镜子,由其对角的两种可能配置表示:
'/'字符:镜子连接方格的左下角和右上角。'\'字符:镜子连接方格的左上角和右下角。
一天晚上,贝茜(Bessie)带着激光指针来到镜子场。她站在场地外,沿场地的某一行或某一列的水平或垂直方向发射激光束,激光会在镜子上反射。由于镜子是对角放置的,水平入射的激光经反射后会变为垂直方向,反之亦然。
贝茜想知道,从场地外发射的水平或垂直激光束,最多能反射多少次镜子。如果激光束会无限反射,请输出 -1。给定镜子场的布局,请帮贝茜计算这个最大反射次数。
输入输出格式
- 输入格式
- 第 1 行:整数 ( N ) 和 ( M ),用空格分隔。
- 第 2 至 ( N+1 ) 行:每行包含 ( M ) 个
'/'或'\'字符,描述镜子场的一行。
- 输出格式
输出一个整数,表示水平或垂直发射的激光束最多能反射的镜子次数。若无限反射,输出-1。
样例
样例输入
3 3
/\
\\
///
样例输出
3
输出详情
贝茜可以在场地中间列的上方垂直向下发射激光束,使其反射 3 次。