#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#include<cmath>
#define N 10005
struct node
{
int x,y;
int t;
}a[N];
int dp[N];
int cmp(const void *a,const void *b)
{
return (*(node *)a).t-(*(node *)b).t;
}
int Max(int x,int y)
{
if(x>y)
return x;
return y;
}
int main()
{
int n,m;
while(scanf("%d%d",&m,&n),m||n)
{
int i,j;
for(i=1;i<=n;i++)
scanf("%d%d%d",&a[i].t,&a[i].x,&a[i].y);
qsort(a+1,n,sizeof(a[0]),cmp);
memset(dp,0,sizeof(dp));
for(i=1;i<=n;i++)
{
dp[i]=1;
for(j=1;j<i;j++)
{
if(abs(a[j].x-a[i].x)+abs(a[j].y-a[i].y)<=a[i].t-a[j].t)
dp[i]=Max(dp[i],dp[j]+1);
}
}
int max=0;
for(i=1;i<=n;i++)
max=Max(max,dp[i]);
printf("%d\n",max);
}
return 0;
}
tjut 2881
最新推荐文章于 2017-08-09 17:15:57 发布
