#杭电oj 2022 java
海选女主角
给你n个整数,求他们中所有奇数的乘积。面试那天,刚好来了mn个MM,站成一个mn的队列, 副导演Fe(OH)2为每个MM打了分数,分数都是32位有符号整数。 一开始我很纳闷:分数怎么还有负的?Fe(OH)2解释说,根据选拔规则, 头发染成黄色、化妆太浓、穿的太少等等都要扣分数的,扣的多了就可能是负分了, 当然,如果发现话语中夹有日语,就直接给-2147483648分了。 分数送上来了,是我做决定的时候了,我的一个选拔原则是, 要选一个面试分数绝对值(必须还是32位整数)最大的MM。 特别说明:如果不幸选中一个负分的MM,也没关系,因为我觉得, 如果不能吸引你,那要想法恶心你。
import java.util.*; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); while (sc.hasNext()) { int m=sc.nextInt();//行数 int n=sc.nextInt();//列数 int[][] arr=new int[m][n];//存放输入的m*n个整数 int x=0;//存放行 int y=0;//存放列 int absMax=0;//存放绝对值最大的数 int t=0;//判断absMax为正的最大(0)还是负的最大(1) for(int i=0;i<m;i++) { for(int j=0;j<n;j++) { arr[i][j]=sc.nextInt();//存入n个数 } } for(int i=0;i<m;i++) { for(int j=0;j<n;j++) { //如果某数绝对值大于 //赋给absMax,并传入坐标 if(Math.abs(arr[i][j])>absMax) { absMax=Math.abs(arr[i][j]); x=i+1;//记得+1 y=j+1;//记得+1 if(arr[i][j]<0) { t=1; }else { t=0; } } } } if(t==1) { absMax=-absMax; } System.out.println(x+" "+y+" "+absMax); } } }