50分求助
  • 板块P2782 友好城市
  • 楼主7FA5
  • 当前回复2
  • 已保存回复2
  • 发布时间2021/12/14 21:19
  • 上次更新2023/11/3 22:01:50
查看原帖
50分求助
422171
7FA5楼主2021/12/14 21:19

带娃在这里

#include <bits/stdc++.h>
using namespace std;
struct coord{
	int x, y;
};
int n; coord arr[5005];
int dp[5005], maxx;
int comp(coord a, coord b){
	if (a.x < b.x)
		return 1;
	if (a.x == b.x && a.y < b.y)
		return 1;
	return 0;
}
int main(){
	int i, j;
	cin >> n;
	for (i = 1; i <= n; i++)
		cin >> arr[i].x >> arr[i].y;
	sort(arr + 1, arr + n + 1, comp);
	for (i = 1; i <= n; i++){
		dp[i] = 1;
		for (j = 1; j < i; j++)
			if (arr[i].x >= arr[j].x && arr[i].y >= arr[j].y){
				dp[i] = max(dp[i], dp[j] + 1);
				maxx = max(maxx, dp[i]);
			}
	}
	cout << maxx;
	return 0;
}
2021/12/14 21:19
加载中...