import java.util.*;
class Peanuk{
public int i,j;//i为行号,j为列号
public int num;//花生数量
public Peanuk next;//下一个
public Peanuk() {
super();
}
public Peanuk(int i, int j, int num) {
super();
this.i = i;
this.j = j;
this.num = num;
}
}
public class PickPeanuk {
public static void main(String[] args) {
// TODO Auto-generated method stub
//定义一个类:存储数据
Peanuk head=new Peanuk();//num:表示有多少个结点。next:指向第一个结点。
Peanuk node;
Scanner sc=new Scanner(System.in);
int n,i,j,x,y,time,num;//x 行,y 列
n=sc.nextInt();
Peanuk pre;
while(n>0) {
head.num=0;
head.next=null;
x=sc.nextInt();
y=sc.nextInt();
time=sc.nextInt();
for(i=0;i<x;i++) {
for(j=0;j<y;j++) {
num=sc.nextInt();
if(num!=0) {
node=new Peanuk((i+1),(j+1),num);
//插入排序
pre=head;
if(head.num==0) {
head.num++;
head.next=node;
}else{
head.num++;
while((pre.next!=null)&&(pre.next.num>node.num)) {
pre=pre.next;
}
//pre.next==null
if(pre.next==null) {
pre.next=node;
}else if(pre.next.num<node.num) {
node.next=pre.next;
pre.next=node;
}
}
}
}
}
//计算时间和数量
node=head.next;
num=0;
int timeCount;
pre=head;
node=pre.next;
for(i=0;i<head.num;i++) {
//System.out.println("("+node.i+","+node.j+")"+node.num);
//计算第i个结点的花生能不能采?
//当前的位置到第i个结点的位置时间+1(采摘时间)+从第i个结点位置返回的时间<time的剩余
if(i==0) {//第一个
timeCount=node.i+1+node.i;
}else {
timeCount=Math.abs(pre.i-node.i)+Math.abs(pre.j-node.j)+1+node.i;
}
if(time<timeCount) {
break;
}else {
num=num+node.num;
time=time-timeCount+node.i;
}
pre=pre.next;
node=node.next;
}
System.out.println(num);
n--;
}
}
}
兄弟,,java没有指针;
所以,我不知你说的指针在哪里
题描述的不好,步骤描述那里出题人自己也混乱了,没有说清。这个东西叫链表,它不叫指针。