题目描述
小爱是一位快乐的粉刷匠,她现在需要粉刷一块包含 $n\times m$ 小格子的墙面, 每个格子一开始都是白色的。
小爱可以进行以下两种操作:
+ 把某一行全部染成红色$R$或者黑色$B$ 。
+ 把某一列全部染成红色$R$或者黑色$B$ 。
每次涂到一个格子时,无论这个格子之前是否被染过色,都会被覆盖成当前的颜色。 经过一些操作后,小爱制作完成了一个只有红色与黑色的染色图,她非常得意地拿给小艾展示。小艾并不关心这幅图的美观度,她只想知道这幅图最少几步就能得到,但她不能一下子看出,所以来寻求你的帮助。
给出一幅染色图, 输出最少需要几步可以画成这幅图。 如果小爱在欺骗小艾,这幅图无法通过以上操作获得,则输出 $−1$ .
输入
第一行两个正整数 $n,m$,分别表示染色图的长和宽。
接下来 $n$ 行, 每行一个长度为$m$且只由 $R,B$ 构成的字符串, 用来描述整幅染色图。
输出
输出一个正整数表示答案。
样例输入输出
输入#1
复制
2 8
BBRRRBRB
BBRRRRRB
提示
+ 对于 $20\%$ 的数据,保证 $1\leq n,m\leq 3$;
+ 对于 $40\%$ 的数据,保证$1\le n,m\le 5$;
+ 对于 $60\%$ 的数据,保证$1\le n,m\le 100$;
+ 对于另外$20\%$ 的数据,保证$1\le n,m\le 3000$;(且若小爱没有欺骗,那么最少的步数应是 $4513$ 步。)
+ 对于 $100\%$ 的数据,保证$1\le n,m\le 3000$;
样例1说明:我们可以先把第一行涂成 R,然后把第六列涂成 B,然后把第二行涂成 R,最后把第一、二、八列涂成B