阿里2022-3-14笔试
第一题
枚举
第二题
package org.oj01;
import java.util.*;
public class Main {
/**
* 100 1110
* @param args
*/
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
int m=sc.nextInt();
int n=sc.nextInt();
int res=0;
int[][] nums=new int[m+1][n+1];
for(int i=1;i<=m;i++){
for(int j=1;j<=n;j++){
nums[i][j]=sc.nextInt();
}
}
int[][] left=new int[m+1][n+1];
int[][] right=new int[m+1][n+2];
int[][] up=new int[m+1][n+2];
int[][] down=new int[m+2][n+1];
for(int i=1;i<=m;i++){
for(int j=1;j<=n;j++){
left[i][j]=left[i][j-1]+nums[i][j];
}
}
for(int i=1;i<=m;i++){
for(int j=n;j>=1;j--){
right[i][j]=right[i][j+1]+nums[i][j];
}
}
for(int j=1;j<=n;j++){
for(int i=1;i<=m;i++){
up[i][j]=up[i-1][j]+nums[i][j];
}
}
for(int j=1;j<=n;j++){
for(int i=m;i>=1;i--){
down[i][j]=down[i+1][j]+nums[i][j];
}
}
System.out.println("矩阵");
for(int i=1;i<=m;i++){
for(int j=1;j<=n;j++){
System.out.print(left[i][j]+" ");
}
System.out.println();
}
System.out.println("矩阵");
for(int i=1;i<=m;i++){
for(int j=1;j<=n;j++){
System.out.print(up[i][j]+" ");
}
System.out.println();
}
for(int i=1;i<=m;i++){
for(int j=1;j<=n;j++){
if(nums[i][j]==0){
if(up[i][j]!=0){
res+=1;
}
if(down[i][j]!=0){
res+=1;
}
if(left[i][j]!=0){
res+=1;
}
if(right[i][j]!=0){
res+=1;
}
}
}
}
System.out.println(res);
}
}
传音控股公司福利 333人发布