【发布时间】:2020-05-10 03:40:39
【问题描述】:
我在 Hyperskill 上发现了这个问题,并且一直在努力解决这个问题。解决方案也在那里,但对我来说毫无意义。
在某些设计风格中,如果 4x4 矩阵图案不是由相同颜色的 2x2 矩阵组成,则它被认为看起来很漂亮。你的任务是编写程序,如果 4x4 矩阵看起来很漂亮,则输出“YES”,否则输出“NO”。
输入包含4行,每行包含4个符号,不同的符号代表不同的颜色:W代表白色,B代表黑色,R代表红色,G代表绿色,Y代表黄色。
示例输入 1: 万维网 BBBB 万维网 年年年年
示例输出 1: 是的
示例输入 2: BBBB BWWB BWWB BBBB
示例输出 2: 没有
String[] arr = new String[4];
for (int i = 0; i < 4; i++) {
arr[i] = scanner.next();
}
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 3; j++) {
if (arr[i].charAt(j) == arr[i + 1].charAt(j) && arr[i].charAt(j) == arr[i].charAt(j + 1)
&& arr[i].charAt(j) == arr[i + 1].charAt(j + 1)) {
System.out.println("NO");
return;
}
}
}
System.out.println("YES");
【问题讨论】:
-
那到底是什么问题呢?
-
4x4 矩阵“看起来很漂亮”如何?
-
@Kayaman 这就是我的想法!但也许 OP 有不同的口味
-
我不明白问题的标题。它打印
NO,因为所有这些条件都为真。即使有一百万个条件,如果它们都评估为真,它仍然会打印NO。这就是编程逻辑的工作原理。有问题的算法是最明显的算法,比较矩阵中每个位置内相同颜色的 2x2 块。 -
我不明白这个解决方案如何工作以提供所需的结果......