题目链接

题意 : 给你每个柿子树的位置,给你已知长宽的矩形,让这个矩形包含最多的柿子树。输出数目

思路 :数据不是很大,暴力一下就行,也可以用二维树状数组来做。

 1 //2029
 2 #include <stdio.h>
 3 #include <string.h>
 4 #include <iostream>
 5 
 6 using namespace std ;
 7 
 8 int mapp[110][110] ;
 9 
10 int main()
11 {
12     int N ,S,T ,W,H;
13     while(scanf("%d",&N) != EOF && N)
14     {
15         int x,y ;
16         memset(mapp,0,sizeof(mapp)) ;
17         scanf("%d %d",&W,&H) ;
18         for(int i = 0 ; i < N ; i++)
19         {
20             scanf("%d %d",&x,&y) ;
21             mapp[x][y] = 1 ;
22         }
23         scanf("%d %d",&S,&T) ;
24         for(int i = 1 ; i <= W ; i++)
25             for(int j = 1 ; j <= H ; j++)
26                 mapp[i][j] += (mapp[i-1][j]+mapp[i][j-1]-mapp[i-1][j-1]) ;
27         int ans = -1 ;
28         for(int i = S ; i <= W ;i ++)
29         {
30             for(int j = T ; j <= H ; j++)
31             {
32                 ans = max(ans,mapp[i][j]-mapp[i-S][j]-mapp[i][j-T]+mapp[i-S][j-T]) ;
33             }
34         }
35         printf("%d\n",ans) ;
36     }
37     return 0 ;
38 }
View Code

相关文章:

  • 2021-10-04
  • 2021-12-23
  • 2021-06-07
  • 2022-12-23
  • 2021-11-13
  • 2021-07-25
  • 2021-08-18
  • 2021-10-04
猜你喜欢
  • 2021-07-05
  • 2021-10-18
  • 2021-08-17
  • 2021-11-10
  • 2022-12-23
相关资源
相似解决方案