本文主要是介绍题目 1642: 蓝桥杯算法训练VIP-暗恋,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
题目描述:
同在一个高中,他却不敢去找她,虽然在别人看 来,那是再简单不过的事。暗恋,是他唯一能做的事。他只能在每天课间操的时候,望望她的位置,看看她倾心的动作,就够了。操场上的彩砖啊,你们的位置,就是他们能够站立的地方,他俩的关系就像砖与砖之间一样固定,无法动摇。还记得当初铺砖的工人,将整个操场按正方形铺砖(整个操场可视为R行C列的矩阵,矩阵的每个元素为一块正方形砖块),正方形砖块有两种,一种为蓝色,另一种为红色。我们定义他和她之间的“爱情指标”为最大纯色正方形的面积,请你写一个程 序求出“爱情指标”。
代码:
package lanqiao;import java.util.*;public class Main {static int arr[][] = new int[200][200];public static void main(String[] args) {Scanner sc = new Scanner(System.in);int R = sc.nextInt();int C = sc.nextInt();for(int i = 0;i < R;i ++){for(int j = 0;j < C;j ++){arr[i][j] = sc.nextInt();}}int start = 0;int a;for(int i = 0;i < R;i ++){for(int j = 0;j < C;j ++){for(a = start + 1;a <= Math.min(C,R);a ++) //枚举边长{if((i + a <= R) && (j + a <= C)){if(isS(i,j,a)) start = a;}else{break;}}}}System.out.println(start * start);}public static boolean isS(int x,int y,int a) //a为边长{int space = arr[x][y]; //存储该点的颜色for(int i = 0;i < a;i ++){for(int j = 0;j < a;j ++){if(arr[i + x][j +y] != space)return false;}}return true;}
}
这篇关于题目 1642: 蓝桥杯算法训练VIP-暗恋的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!