【筆試】美團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)
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章