0
点赞
收藏
分享

微信扫一扫

【笔试】美团2020暑期实习生编程题

幸运星

观星的时候,一种常用的方式是画出类似于正方形的区域内,确定其中所有星星的坐标。现在我们在星空(一个无限大的二维平面)上建立坐标系,由于星星很小,我们忽略它的面积,认为每个星星是一个点。且所有星星的坐标都是整数。

幸运星的定义是这一颗星星在这个平面内,正上,正下,正左,正右都有其他的星星(不一定相邻)
现在,我们已经将这个正方形的区域取出,并且将他们所在的坐标给你,现在希望你能计算,这个平面内有多少幸运星

代码基于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)


举报

相关推荐

0 条评论