求条
查看原帖
求条
1409299
caisien楼主2025/8/5 10:07
#include<bits/stdc++.h>

using namespace std;

int n,k,x[505],y[505],f[505][105],ans;

int main(){
	ios::sync_with_stdio(0);
	cin.tie(0),cout.tie(0);
	cin >> n >> k;
	for(int i = 1;i <= n;i++){
		cin >> x[i] >> y[i];
	}
	for(int i = 1;i <= n;i++){
		for(int j = 0;j <= k;j++){
			f[i][j] = j + 1;
			for(int z = 1;z < i;z++){
				if(x[i] >= x[z] && y[i] >= y[z]){
					int cha = x[i] - x[z] + y[i] - y[z] - 1;
					if(cha <= j){
						f[i][j] = max(f[i][j],f[z][j - cha] + 1);
					}
				}
			}
		}
	}
	for(int i = 1;i <= n;i++){
		ans = max(ans,f[i][k]);
	}
	cout << ans << endl;
	return 0;
}
2025/8/5 10:07
加载中...