0分求调,必关大佬
查看原帖
0分求调,必关大佬
819682
Exile_Code楼主2023/11/11 19:54
#define  _CRT_SECURE_NO_WARNINGS
#include <iostream>
using namespace std;
#include <vector>
#include <set>
#include <map>
#include <unordered_map>
#include <cstdio>
#include <cstring>
#include <queue>
#include <cstdlib>
#include <algorithm>
#include <list>
#include <string>
#include <cmath>
#include <bitset>
#include <stack>
#include <unordered_set>


#define ull				unsigned long long 
#define ll				long long
#define pii				pair<ll ,ll>
#define ft				first
#define sd				second
#define pr				pair
#define cy				cout<<"Yes"<<endl
#define cn				cout<<"No"<<endl
#define forn(i,n)		for(int (i)=0;(i)<(n);(i)++)   
#define forne(i,n)		for(int (i)=1;(i)<=(n);(i)++)
#define rforn(i,n)		for(int (i)=(n-1);(i)>=(0);(i)--)   
#define rforne(i,n)		for(int (i)=(n);(i)>=(1);(i)--)
#define vv				vector
const int inf = 0x004f4f4f;
const int N = 5e5 + 10;
struct edge {
	int next, to, w;
};
vv<vv<pii>>tree;
vv<vv<edge>>e;
ll t;



void solve() {


	int n, m; cin >> n >> m;

	vv<pii>nums(m);
	vv<int>tm(m);

	forn(i, m)
		cin >> tm[i] >> nums[i].ft>>nums[i].sd;
	vv<int>f(m);
	for(int i=0;i<m;i++) {
        f[i]=1;
		for(int j=0;j<i;j++) {
			if (abs(nums[i].ft - nums[j].ft) 
			  + abs(nums[i].sd - nums[j].sd) 
			      <= tm[j] - tm[i])
				f[i] = max(f[i], f[j] + 1);
		}
	}
	int mx = 1;
	for(int i;i<m;i++)
		mx = max(mx, f[i]);
	cout << mx << endl;

}       
int main() {


	t = 1;
	//cin >> t;

	while (t--)
		solve();


	return 0;
}

2023/11/11 19:54
加载中...