但是,t时刻出现的地鼠,能不能打,只和他的位置与前面时刻出现地鼠的位置有关,(相对位置,所以说不用管现在到底在哪个格子)就是说,如果dist(i,j)<=a[i].t-a[j].t,那这个地鼠就可以打到,
#include<cstdio>
#include<cstdlib>
#include<iostream>
using namespace std;
#define N 10010
int n,m,f[N];
struct node{
int x,y,t;
}a[N];
inline int dis(int i,int j){
return abs(a[i].x-a[j].x)+abs(a[i].y-a[j].y);
}
int main(){
scanf("%d%d",&n,&m);
for(int i=1;i<=m;i++) scanf("%d%d%d",&a[i].t,&a[i].x,&a[i].y);
for(int i=1;i<=m;i++) f[i]=1;
for(int i=1;i<=m;i++){
for(int j=i-1;j;j--){
if(dis(i,j)<=a[i].t-a[j].t)
f[i]=max(f[i],f[j]+1);
}
}
int ans=0;
for(int i=1;i<=m;i++) ans=max(ans,f[i]);
printf("%d\n",ans);
return 0;
}