ny16 矩形巢狀

2021-09-08 09:39:07 字數 1327 閱讀 4087

時間限制:

3000 ms  |  記憶體限制:

65535 kb

難度:4

描述

有n個矩形,每個矩形可以用a,b來描述,表示長和寬。矩形x(a,b)可以巢狀在矩形y(c,d)中當且僅當a輸入

第一行是乙個正正數n(0輸出

每組測試資料都輸出乙個數,表示最多符合條件的矩形數目,每組輸出佔一行

樣例輸入

1

101 2

2 45 8

6 10

7 93 1

5 812 10

9 72 2

樣例輸出

5

解法一:按照面積大小和面積相同的按照長度進行排序

1 #include2 #include

3int

main()

417 c[i]=a[i]*b[i];18}

19for(j=0;j1;j++)

20for(i=0;i1-j;i++)

2128

if(c[i]==c[i+1

])2936}

37}38//

for(i=0;i39

//printf("%d %d %d\n",a[i],b[i],c[i]);

//40

for(i=1;i)

41 50}

51if(d[i]>sum)

52 sum=d[i];53}

54 printf("

%d\n

",sum+1

);55}56

return0;

57 }

解法二:直接按照長進行排序

1 #include"

stdio.h"2

#define m 1024

3main();

11 scanf("

%d",&n);

12for(i=0;i<=n-1;i++)19}

20for(i=0;i1;i++)}

30for(i=0;i1;i++)

31for(j=i+1;j)

3237}38

for(i=0;i1;i++)

39if(c[i]>c[i+1

])40 c[i+1]=c[i];

41 c[i]++;

42if(n<=0)c[i]=0

;43 printf("

%d\n

",c[i]);

44 }}

nyoj 16 矩形巢狀

時間限制 3000 ms 記憶體限制 65535 kb 難度 4 描述有n個矩形,每個矩形可以用a,b來描述,表示長和寬。矩形x a,b 可以巢狀在矩形y c,d 中當且僅當ab套在 6,2 內,但不能巢狀在 3,4 中。你的任務是選出盡可 能多的矩形排成一行,使得除最後乙個外,每乙個矩形都可以巢狀...

NYOJ 16 矩形巢狀

時間限制 3000 ms 記憶體限制 65535 kb 難度 4 描述 有n個矩形,每個矩形可以用a,b來描述,表示長和寬。矩形x a,b 可以巢狀在矩形y c,d 中當且僅當a 輸入 第一行是乙個正正數n 0輸出 每組測試資料都輸出乙個數,表示最多符合條件的矩形數目,每組輸出佔一行 樣例輸入 1 ...

NYOJ16 矩形巢狀

時間限制 3000 ms 記憶體限制 65535 kb 難度 4 描述 有n個矩形,每個矩形可以用a,b來描述,表示長和寬。矩形x a,b 可以巢狀在矩形y c,d 中當且僅當a輸入 第一行是乙個正正數n 0輸出 每組測試資料都輸出乙個數,表示最多符合條件的矩形數目,每組輸出佔一行 樣例輸入 1 1...