在 N x N 的网格上,每个单元格 (x, y) 上都有一盏灯

# 在 N x N 的网格上,每个单元格 (x, y) 上都有一盏灯,其中 0 <= x < N 且 0 <= y < N 。

# 最初,一定数量的灯是亮着的。lamps[i] 告诉我们亮着的第 i 盏灯的位置。每盏灯都照亮其所在 x 轴、y 轴和两条对角线上的每个正方形(类似于国际象棋中的皇后)。

# 对于第 i 次查询 queries[i] = (x, y),如果单元格 (x, y) 是被照亮的,则查询结果为 1,否则为 0 。

# 在每个查询 (x, y) 之后 [按照查询的顺序],我们关闭位于单元格 (x, y) 上或其相邻 8 个方向上(与单元格 (x, y) 共享一个角或边)的任何灯。

# 返回答案数组 answer。每个值 answer[i] 应等于第 i 次查询 queries[i] 的结果。

#

# 示例:

# 输入:N = 5, lamps = [[0,0],[4,4]], queries = [[1,1],[1,0]]

# 输出:[1,0]

# 解释:

# 在执行第一次查询之前,我们位于 [0, 0] 和 [4, 4] 灯是亮着的。

# 表示哪些单元格亮起的网格如下所示,其中 [0, 0] 位于左上角:

# 1 1 1 1 1

# 1 1 0 0 1

# 1 0 1 0 1

# 1 0 0 1 1

# 1 1 1 1 1

# 然后,由于单元格 [1, 1] 亮着,第一次查询返回 1。在此查询后,位于 [0,0] 处的灯将关闭,网格现在如下所示:

# 1 0 0 0 1

# 0 1 0 0 1

# 0 0 1 0 1

# 0 0 0 1 1

# 1 1 1 1 1

# 在执行第二次查询之前,我们只有 [4, 4] 处的灯亮着。现在,[1, 0] 处的查询返回 0,因为该单元格不再亮着。

#

import  random

# # 单元格行列

# n = 6

# # 开的灯的位置

# lamp = [[1, 3], [4, 5]]

# # 开的灯的位置

# queries = [[3, 2], [0, 4]]

#随机生成3个变量

n = 10

lamp = []

queries = []

lamp_length = 2

for i in range(0,lamp_length):

    lampitem_list= []

    lampitem_list.append(random.randint(0,n-1))

    lampitem_list.append(random.randint(0,n-1))

    lamp.append(lampitem_list)

print("lamp=",end="")

print(lamp)

queries_length = 3

for i in range(0,queries_length):

    queriesitem_list= []

    queriesitem_list.append(random.randint(0,n-1))

    queriesitem_list.append(random.randint(0,n-1))

    queries.append(queriesitem_list)

print("queries=",end="")

print(queries)

# 开的灯的位置

answer = []

arr = []

def init_lamp(lamp):

    print("--------------------------------------")

    #

    lamp_i = []

    lamp_j = []

    #

    for index, item in enumerate(lamp):

        lamp_i.append(item[0])

        lamp_j.append(item[1])

    for i in range(0, n):

        arr_item = []

        for j in range(0, n):

            # 判断斜对角

            xie_isTrue = False

            for index_item in lamp:

                x = abs(index_item[0] - i)

                y = abs(index_item[1] - j)

                if x == y:

                    xie_isTrue = True

                    break

            if lamp_i.count(i) > 0 or lamp_j.count(j) > 0 or xie_isTrue:

                arr_item.append("*")

            else:

                arr_item.append(" ")

        print(arr_item)

        arr.append(arr_item)

def method_name(queries):

    # 先判断此处灯是不是关的

    for queries_item in queries:

        if arr[queries_item[0]][queries_item[1]] == "*":

            # 如果是开着的,那么answer返回1,同时关灯

            answer.append("1")

        else:

            answer.append("0")

    #

    queries_i = []

    queries_j = []

    # 关灯位置数组

    close_lamp = []

    #

    for index, item in enumerate(queries):

        queries_i.append(item[0])

        queries_j.append(item[1])

    for i in range(0, n):

        arr_item = []

        for j in range(0, n):

            xie_isTrue = False

            for index_item in queries:

                x = abs(index_item[0] - i)

                y = abs(index_item[1] - j)

                if x == y:

                    xie_isTrue = True

                    break

            if queries_i.count(i) > 0 or queries_j.count(j) > 0 or xie_isTrue:

                # 满足条件的

                close_lamp.append([i, j])

    # 将关灯区域的灯关掉

    for item_lamp in lamp:

        if close_lamp.count(item_lamp) > 0:

            lamp.remove(item_lamp)

    init_lamp(lamp)

init_lamp(lamp)

method_name(queries)

print(answer)
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 205,236评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,867评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,715评论 0 340
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,899评论 1 278
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,895评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,733评论 1 283
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,085评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,722评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 43,025评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,696评论 2 323
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,816评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,447评论 4 322
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,057评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,009评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,254评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,204评论 2 352
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,561评论 2 343

推荐阅读更多精彩内容

  • 今天开始休息在家一个月,想在家好好陪陪儿子,琢磨着一起和他干些什么。一早去超市买了一些牛奶,和包饺子的材料。回家叫...
    徐亚娟阅读 191评论 0 0
  • 他的眼睛眯起来,甚至微微皱了下眉。他被像阳光一样的东西刺到了,那是她的笑容 。 他也不知道她是怎样...
    青冽阅读 543评论 0 4
  • 温庭筠(约812年-约866年),本名岐,艺名庭筠,字飞卿,男,汉族,唐代并州祁县(今山西省晋中市祁县)人,晚唐时...
    卞y阅读 444评论 0 2
  • 上一章 咪咪跟着山猫奶奶走进了树林,没多久就到了山猫奶奶的家。这是一个漂亮的石洞,洞口是一片平地,开满野花,阵阵清...
    花香四季1阅读 275评论 8 13