只A了第一道,第二道题都读不懂,许愿能进面试啊
题目:矩阵中的每个数加上最少个d,使得矩阵的所有元素相等,如果不存在,输出-1
2 1 //输入N,d 1 2 //表示下面的矩阵为N*N 3 4
输出:3+2+1=6
2 2 //输入N,d 1 2 //表示下面的矩阵为N*N 3 4输出:-1
import java.util.*; public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); int n = in.nextInt(); long d = in.nextLong(); long[] arr = new long[n*n]; for (int i = 0; i < n*n; ++i) { arr[i] = in.nextLong(); } Arrays.sort(arr); long max = arr[n*n-1]; long count = 0L; boolean flag = true; for (int i = 0; i < n*n; ++i) { if ((max-arr[i])%d==0L) { count += (max-arr[i])/d; } else { flag = false; break; } } if (flag == true) { System.out.println(count); } else { System.out.println(-1); } } }
全部评论
(2) 回帖