NC25039. [USACO 2007 Jan B]The Bale Tower
描述
输入描述
* Line 1: A single integer, N
* Lines 2..N+1: Each line describes a bale with two space-separated integers,respectively the width and breadth
输出描述
* Line 1: The height of the tallest possible tower that can legally be built from the bales.
示例1
输入:
6 6 9 10 12 9 11 8 10 7 8 5 3
输出:
5
C++11(clang++ 3.9) 解法, 执行用时: 4ms, 内存消耗: 484K, 提交时间: 2019-12-14 11:35:42
#include<iostream> #include<cstdio> #include<algorithm> #include<cstring> #include<string> using namespace std; struct ljy{ int a,b; }f[30]; int dis[30]; bool operator <(const ljy &x,const ljy &y){ return x.a<y.a||x.a==y.a&&x.b>y.b; } int main(){ int n,ans=-2e9; cin>>n; for(int i=1;i<=n;i++) cin>>f[i].a>>f[i].b; sort(f+1,f+n+1); for(int i=1;i<=n;i++){ dis[i]=1; for(int j=1;j<i;j++) if(f[i].b>f[j].b)dis[i]=max(dis[i],dis[j]+1); } for(int i=1;i<=n;i++) ans=max(ans,dis[i]); cout<<ans<<"\n"; return 0; }