幸运星
观星的时候,一种常用的方式是画出类似于正方形的区域内,确定其中所有星星的坐标。现在我们在星空(一个无限大的二维平面)上建立坐标系,由于星星很小,我们忽略它的面积,认为每个星星是一个点。且所有星星的坐标都是整数。
幸运星的定义是这一颗星星在这个平面内,正上,正下,正左,正右都有其他的星星(不一定相邻)
现在,我们已经将这个正方形的区域取出,并且将他们所在的坐标给你,现在希望你能计算,这个平面内有多少幸运星
代码基于Python2
#! -*- coding:utf-8 -*-
import sys
n = int(sys.stdin.readline().strip())
zuobiao=[]
for i in range(n):
line =sys.stdin.readline().strip()
values=list(map(int,line.split()))
zuobiao.append({values[0]:values[1]})
max=len(zuobiao)
xingyun=0 #幸运星数量
for i in zuobiao:
flag = []
for x in zuobiao:
if (i.keys()[0]==x.keys()[0] and i[i.keys()[0]] > x[x.keys()[0]]):
if 1 not in flag:
flag.append(1)
if (i.keys()[0] == x.keys()[0] and i[i.keys()[0]] < x[x.keys()[0]]):
if 2 not in flag:
flag.append(2)
if (i.keys()[0] < x.keys()[0] and i[i.keys()[0]] == x[x.keys()[0]]):
if 3 not in flag:
flag.append(3)
if (i.keys()[0] > x.keys()[0] and i[i.keys()[0]] == x[x.keys()[0]]):
if 4 not in flag:
flag.append(4)
if len(flag)==4:
xingyun+=1
break
print(xingyun)