我在Hyperskill上发现了这个问题,并且一直在努力。解决方案也在那里,但对我来说毫无意义。
在某些设计风格中,如果4x4矩阵模式不包含相同颜色的2x2矩阵,则认为该模式看起来很漂亮。您的任务是编写一个程序,如果4x4矩阵看起来很漂亮,则输出“ YES”,否则输出“ NO”。
输入包含4行,每行包含4个符号,不同的符号代表不同的颜色:W代表白色,B-黑色,R-红色,G-绿色,Y-黄色。
样本输入1:WWWW BBBB WWWW YYYY
样本输出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");
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
我理解您在Hyperskill上遇到的问题是关于编程的,特别是检查一个4x4矩阵中是否存在2x2同色子矩阵。虽然这不是直接与阿里云产品相关的问题,但我可以提供一个简单的Java代码示例来帮助您解决这个问题。
下面是一个可能的解决方案:
import java.util.Scanner;
public class BeautifulPattern {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
// 读取4x4矩阵
String[] matrix = new String[4];
for (int i = 0; i < 4; i++) {
matrix[i] = scanner.nextLine();
}
// 检查是否存在2x2同色子矩阵
boolean isBeautiful = true;
for (int i = 0; i < 3; i++) { // 行检查
for (int j = 0; j < 3; j++) { // 列检查
if (matrix[i].charAt(j) == matrix[i].charAt(j+1) &&
matrix[i+1].charAt(j) == matrix[i+1].charAt(j+1) &&
matrix[i].charAt(j) == matrix[i+1].charAt(j)) {
isBeautiful = false;
break;
}
}
if (!isBeautiful) break;
}
// 输出结果
System.out.println(isBeautiful ? "YES" : "NO");
}
}
这段代码首先从用户那里读取一个4x4的矩阵(每行输入作为字符串),然后通过两层循环遍历矩阵中的每个潜在的2x2子矩阵。如果发现任何2x2子矩阵中的颜色都相同,则将isBeautiful
标志设置为false
,并提前结束循环。最后,根据isBeautiful
的值输出“YES”或“NO”。
希望这能帮助您理解如何解决这个问题!如果您有其他编程相关的问题,或者需要了解阿里云产品的信息,请随时告诉我。