Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|---|
52536 | AK2022071322 | 木板游戏 | C++ | 解答错误 | 0 | 9 MS | 312 KB | 640 | 2022-07-19 12:43:01 |
#include <bits/stdc++.h> using namespace std; int n; int mx=-1; struct node { long long li,ri,len; } l[2010]; int f[2010]; bool cmp(node x,node y) { if(x.len<y.len)return 0; else return 1; } int main() { cin>>n; for(int i=1; i<=n; i++) { cin>>l[i].li>>l[i].ri; l[i].len=l[i].ri-l[i].li+1; } sort(l+1,l+n+1,cmp); f[1]=1; for(int i=1; i<=n; i++) { for(int j=i+1; j<=n; j++) { if(l[i].li<=l[j].li&&l[i].ri>=l[j].ri) { f[i]=max(f[j],f[i]+1); } } } for(int i=1; i<=n; i++) { mx=max(mx,f[i]); } cout<<mx<<endl; return 0; }