幸运星

#include <iostream>
#include <algorithm>
using namespace std;
const int maxn = 2e3+10;
int map[maxn][maxn];
int xmax[maxn];
int xmin[maxn];
int ymax[maxn];
int ymin[maxn];
void init()
{
    for(int i = 0;i<maxn;++i){
        xmax[i] = -1;
        ymax[i] = -1;
    }
    for(int i = 0;i<maxn;++i){
        xmin[i] = maxn;
        ymin[i] = maxn;
    }
    for(int i = 0;i<maxn;++i){
        for(int j = 0 ;j<maxn;++j){
            map[i][j] = 0;
        }
    }
}
int judge(){
    int ans  = 0;
    for(int i = 2;i < maxn-1;++i){
        for(int j = 2;j<maxn-1;++j){
            if(map[i][j] == 1){
                if(i<ymax[j] && i>ymin[j] && j<xmax[i] && j>xmin[i]){
                    ans++;
                }
            }
        }
    }
    return ans ;
}
int main()
{
    int n;
    int x,y;
    while(cin>>n){
        init();
        for(int i =0;i<n;++i){
            cin>>x>>y;
            x+=1002;
            y+=1002; 
            xmax[x] = xmax[x] >y?xmax[x] :y;
            xmin[x] = xmin[x] <y?xmin[x] :y;
            ymax[y] = ymax[y] >x?ymax[y] :x;
            ymin[y] = ymin[y] <x?ymin[y] :x;
            map[x][y] = 1;
        }
        cout<<judge()<<endl;
    }
    return 0;
}
Last modification:April 23rd, 2020 at 09:18 pm
如果觉得我的文章对你有用,请随意赞赏