其實就是簽到題。。高精度,就是讓你求一個矩陣哪一列的乘積和最大,輸出該列的列號,如果乘積相同則輸出最大的列號。
import java.util.Scanner;
import java.math.*;
public class Main {
static final int maxn = 1000 + 10;
static final int maxm = 25 + 10;
static int n,m;
static BigInteger []sum = new BigInteger[maxm];
static BigInteger [][]a = new BigInteger[maxn][maxm];
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner cin = new Scanner(System.in);
while(cin.hasNext())
{
m=cin.nextInt();
n=cin.nextInt();
for(int i=1;i<=n;i++)
for(int j=1;j<=m;j++)
a[i][j]=cin.nextBigInteger();
for(int i=1;i<=m;i++)
sum[i]=new BigInteger("1");
for(int j=1;j<=m;j++)
for(int i=1;i<=n;i++)
sum[j]=sum[j].multiply(a[i][j]);
BigInteger Sum = sum[1];
int tt=1;
for(int i=2;i<=m;i++)
{
int flag=sum[i].compareTo(Sum);
if(flag>=0)
{
Sum=sum[i];
tt=i;
}
}
System.out.println(tt);
}
}
}