2 条题解
-
1
#include<bits/stdc++.h> using namespace std; int dp[10010],n,m,m_time[10010],m_x[10010],m_y[10010],ans;//dp[i]表示到第i只时能打多少只 int main() { cin>>n>>m; for(int i=1;i<=m;i++) { cin>>m_time[i]>>m_x[i]>>m_y[i]; } for(int i=1;i<=m;i++) { dp[i]=1; } for(int i=1;i<=m;i++) { for(int j=1;j<i;j++) { if(abs(m_x[i]-m_x[j])+abs(m_y[i]-m_y[j])<=abs(m_time[i]-m_time[j])) { dp[i]=max(dp[i],dp[j]+1); } } } for(int i=1;i<=m;i++) { ans=max(ans,dp[i]); } cout<<ans; }
-
0
using namespace std; int n,m,t,x,y,ans,dp[10001],mmax; struct node{ int x,y,t; }a[10001]; int main(){ cin>>n>>m; for(int i=1;i<=m;i++)cin>>a[i].t>>a[i].x>>a[i].y; for(int i=1;i<=m;i++){ dp[i]=1; for(int j=1;j<i;j++){ if(abs(a[i].t-a[j].t)>=abs(a[i].x-a[j].x)+abs(a[i].y-a[j].y)){ dp[i]=max(dp[i],dp[j]+1); } } mmax=max(mmax,dp[i]); } printf("%d",mmax); return 0; }
- 1
信息
- ID
- 1207
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 6
- 标签
- (无)
- 递交数
- 12
- 已通过
- 11
- 上传者