矩形巢狀
時間限制:3000 ms | 記憶體限制:65535 kb
難度:4
描述有n個矩形,每個矩形可以用a,b來描述,表示長和寬。矩形x(a,b)可以巢狀在矩形y(c,d)中當且僅當a
輸入第一行是乙個正正數n(0
每組測試資料的第一行是乙個正正數n,表示該組測試資料中含有矩形的個數(n<=1000)
隨後的n行,每行有兩個數a,b(0
輸出每組測試資料都輸出乙個數,表示最多符合條件的矩形數目,每組輸出佔一行
樣例輸入110
1 22 4
5 86 10
7 93 1
5 812 10
9 72 2
樣例輸出
第一種方法:
#include
#include
#include
#include
#define n 1005
using namespace std;
vector vec[n];
int dp[n];
struct rec
a[n];
int nest(rec a1,rec a2) /*判斷兩個矩形是否可以巢狀*/
int dfs(int x,int n)
if(!flag)
return dp[x]=1;
return dp[x]=maxv;
}int main()
printf("%d\n",maxv);
} return 0;
}第二種方法:
#include
#include
using namespace std;
#define n 1005
struct rec
a[n];
int dp[n];
bool comp(rec a1,rec a2) /*按長從小到大排序*/
{ if(a1.l==a2.l)
return a1.w
NYOJ 16 矩形巢狀(動態規劃)
矩形巢狀 時間限制 3000 ms 記憶體限制 65535 kb 難度 4 描述 有n個矩形,每個矩形可以用a,b來描述,表示長和寬。矩形x a,b 可以巢狀在矩形y c,d 中當且僅當a參考最長上公升子串行長度 狀態轉移方程dp i max dp i dp j 1 include include ...
NYOJ 16 矩形巢狀(動態規劃)
時間限制 3000 ms 記憶體限制 65535 kb 難度 4 描述 有n個矩形,每個矩形可以用a,b來描述,表示長和寬。矩形x a,b 可以巢狀在矩形y c,d 中當且僅當a 輸入 第一行是乙個正正數n 0輸出 每組測試資料都輸出乙個數,表示最多符合條件的矩形數目,每組輸出佔一行 樣例輸入 1 ...
nyoj 16 矩形巢狀 動態規劃
時間限制 3000 ms 記憶體限制 65535 kb 難度 4 描述有n個矩形,每個矩形可以用a,b來描述,表示長和寬。矩形x a,b 可以巢狀在矩形y c,d 中當且僅當a 輸入第一行是乙個正正數n 0輸出 每組測試資料都輸出乙個數,表示最多符合條件的矩形數目,每組輸出佔一行 樣例輸入 1 10...