全部评论
我做的成都的 ,Java 后端 ,和你们的题型不一样 , 但是有一道血型检测的 原题mother写成了 motonr (这个不重要) 牛客有原题 但是不管怎么写都过不去 真的是绝了,,,,,, [编程题]5-血型遗传检测
代码供参考 其中长度为4的填充数组的四个数字分别取中间元素所在的行 列 两条对角线元素的 中间值 (使全体等差数列最大只能从这四个出) package mianshi.墨奇; import java.util.Enumeration; import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int T = sc.nextInt(); for(int i=1;i<=T;i++){ int ans =0; int [][] matrix = new int[3][3]; int min =Integer.MAX_VALUE; int max = Integer.MIN_VALUE; for(int j=0;j<3;j++){ for(int k=0;k<3;k++){ if(j==1 && k==1) continue; matrix[j][k] =sc.nextInt(); } } int []tianchong = new int[4]; tianchong[0] = (matrix[1][0] +matrix[1][2])/2; tianchong[1] = (matrix[0][1] +matrix[2][1])/2; tianchong[2] = (matrix[0][0] +matrix[2][2])/2; tianchong[3] = (matrix[2][0] +matrix[0][2])/2; for(int j : tianchong){ int sum =0; matrix[1][1] = j; for(int k=0;k<3;k++){ if(matrix[k][1]-matrix[k][0] == matrix[k][2]-matrix[k][1]) sum++; } for(int k=0;k<3;k++){ if(matrix[1][k]-matrix[0][k] == matrix[2][k]-matrix[1][k]) sum++; } if(matrix[1][1]-matrix[0][0] == matrix[2][2]-matrix[1][1]) sum++; if(matrix[2][0] - matrix[1][1] == matrix[1][1] - matrix[0][2]) sum++; ans = Math.max(ans,sum); } System.out.println("Case #"+i+": "+ans ); } } }
我a了1和3,第二题a了一般,第二题真的看了老半天还是不太能理解题意
真的有难度
大家都a了多少啊
楼主,为什么我模拟的下来一个没过。但是测试用例和手动构建的都正确啊,想不懂哪里出问题了😅
等差数列为什么是0,不就是找对位和相同最多的那个,然后剩下两行两列吗,一直是0
相关推荐
点赞 评论 收藏
分享