Advertisement
rotti321

Untitled

Mar 21st, 2017
166
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.18 KB | None | 0 0
  1. #include <iostream>
  2. #include <fstream>
  3. using namespace std;
  4.  
  5. struct Punct{
  6.     int x,y;
  7. };
  8.     ifstream f("hambar.in");
  9.     ofstream g("hambar.out");
  10. int Amax=0,n,m;
  11. Punct a[1001];
  12.  
  13. int aria(int x1,int y1,int x2,int y2)
  14. {
  15.     return (x2-x1+1)*(y2-y1+1);
  16. }
  17. void citire(int &n,int &m,Punct a[])
  18. {
  19.     f>>n>>m;
  20.     for(int i=1;i<=m;i++)
  21.     {
  22.         f>>a[i].x>>a[i].y;
  23.         cout<<a[i].x<<" "<<a[i].y<<'\n';
  24.     }
  25. }
  26. int cauta(int x1,int y1,int x2,int y2,int k)
  27. {
  28.     while(k<=m){
  29.         if((x1<=a[k].x && a[k].x<=x2)&&(y1<=a[k].y && a[k].y<=y2))
  30.         {
  31.             return k;
  32.         }
  33.         else
  34.         {
  35.             k++;
  36.         }
  37.     }
  38.     return 0;
  39. }
  40.  
  41.  
  42. void divide_h(int x1,int y1,int x2,int y2,int k)
  43. {
  44.     int valid=1,ar;
  45.     ar=aria(x1,y1,x2,y2);
  46.     k=cauta(x1,y1,x2,y2,k);
  47.     if((k!=0)&&(Amax<ar))
  48.     {
  49.             divide_h(x1,y1,x2,a[k].y-1,k+1);
  50.             divide_h(x1,y1,a[k].x-1,y2,k+1);
  51.             divide_h(x1,a[k].y+1,x2,y2,k+1);
  52.             divide_h(a[k].x+1,y1,x2,y2,k+1);
  53.     }
  54.     if(k==0){
  55.         Amax=max(Amax,ar);
  56.     }
  57. }
  58. int main()
  59. {
  60.     citire(n,m,a);
  61.     divide_h(1,1,n,n,1);
  62.     g<<Amax;
  63.     return 0;
  64. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement