题目名称 2483. 电路维修
输入输出 circuit.in/out
难度等级 ★★☆
时间限制 1000 ms (1 s)
内存限制 64 MiB
测试数据 10
题目来源 GravatarLGLJ 于2019-10-11加入
开放分组 全部用户
提交状态
分类标签
搜索法 最短路 01BFS
分享题解
通过:13, 提交:30, 通过率:43.33%
Gravatardsn 100 0.068 s 4.62 MiB C++
GravatarOasiz 100 0.193 s 6.06 MiB C++
Gravatar锝镆氪锂铽 100 0.198 s 17.74 MiB C++
Gravatardsn 100 0.212 s 4.62 MiB C++
GravatarTheresis 100 0.247 s 6.03 MiB C++
Gravatarop_组撒头屯 100 0.317 s 2.49 MiB C++
GravatarLGLJ 100 0.318 s 2.67 MiB C++
GravatarOasiz 100 0.368 s 6.05 MiB C++
GravatarZRQ 100 0.681 s 26.17 MiB C++
GravatarHarry Potter 100 1.487 s 21.01 MiB C++
关于 电路维修 的近10条评论(全部评论)

2483. 电路维修

★★☆   输入文件:circuit.in   输出文件:circuit.out   简单对比
时间限制:1 s   内存限制:64 MiB

【题目描述】

达达是来自异世界的魔女,她在漫无目的地四处漂流的时候,遇到了善良的少女翰翰,从而被收留在地球上。

翰翰的家里有一辆飞行车。

有一天飞行车的电路板突然出现了故障,导致无法启动。

电路板的整体结构是一个$R$行$C$列的网格(R,C≤500),如下图所示。

电路.png

每个格点都是电线的接点,每个格子都包含一个电子元件。

电子元件的主要部分是一个可旋转的、连接一条对角线上的两个接点的短电缆。

在旋转之后,它就可以连接另一条对角线的两个接点。

电路板左上角的接点接入直流电源,右下角的接点接入飞行车的发动装置。

达达发现因为某些元件的方向不小心发生了改变,电路板可能处于断路的状态。

她准备通过计算,旋转最少数量的元件,使电源与发动装置通过若干条短缆相连。

不过,电路的规模实在是太大了,达达并不擅长编程,希望你能够帮她解决这个问题。

【输入格式】

输入文件包含多组测试数据。

第一行包含一个整数$T$,表示测试数据的数目。

对于每组测试数据,第一行包含正整数$R$和$C$,表示电路板的行数和列数。

之后$R$行,每行$C$个字符,字符是"/"和"\"中的一个,表示标准件的方向。

【输出格式】

对于每组测试数据,在单独的一行输出一个正整数,表示所需的缩小旋转次数。

如果无论怎样都不能使得电源和发动机之间连通,输出NO SOLUTION。

【样例输入】

1
3 5
\\/\\
\\///
/\\\\

【样例输出】

1

【样例解释】

样例的输入对应于题目描述中的情况。

只需要按照下面的方式旋转标准件,就可以使得电源和发动机之间连通。

电路2.png

【提示】

1≤R,C≤500,

1≤T≤5

【来源】

《算法竞赛进阶指南》