题目描述
小明正在规划一个大型数据中心机房,为了使得机柜上的机器都能正常满负荷工作,需要确保在每个机柜边上至少要有一个电箱。
为了简化题目,假设这个机房是一整排,M表示机柜,I表示间隔,请你返回这整排机柜,至少需要多少个电箱。 如果无解请返回 -1 。
输入描述
无
输出描述
无
用例
输入:
MIIM
输出:
2
题目解析
本题,“无解”的情况应该是指:M的左右两边都是M,或者边界,比如:
- MMIIM:M的左边是边界,所以无法放电箱,右边是M,所以也无法放电箱
- IMMMI:M的左右两边都是M,因此无法放电箱
有解的情况下,保证机箱最少的情况,则需要两个机柜公用一个机箱。例如:IMIMI
C++
#include <iost