此题很简单,实现排序即可,设置一个二维数组,将位置放在第二列中,但是开始时一直未通过,因为ML,开始时使用了一个辅助数组,将辅助数组进行改进后,即通过。
import java.util.Scanner;
public class Main{
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
while(sc.hasNext()){
int n=sc.nextInt();
int m=sc.nextInt();
int k=sc.nextInt();
double[][] b=new double[m][2];
for(int z=0;z<n;z++)
for(int zz=0;zz<m;zz++)
{
b[zz][0]+=sc.nextDouble();
b[zz][1]=zz+1;
}
for(int i=0;i<m;i++)
{
double max=0;int index=-1;
for(int j=i;j<m;j++)
{
if(b[j][0]>=max){max=b[j][0];index=j;}
}
b[index][0]=b[i][0];
b[i][0]=max;
double temp=b[index][1];
b[index][1]=b[i][1];
b[i][1]=temp;
}
for(int i=0;i<k;i++)
{
double max=0;int index=-1;
for(int j=i;j<k;j++)
{
if(b[j][1]>=max){max=b[j][1];index=j;}
}
b[index][1]=b[i][1];
b[i][1]=max;
double temp=b[index][0];
b[index][0]=b[i][0];
b[i][0]=temp;
}
for(int i=0;i<k-1;i++)System.out.print((int)b[i][1]+" ");
System.out.println((int)b[k-1][1]);
}
}
}