【洛谷】P1830 轟炸III 【python版】

【洛谷】P1830 轟炸III 【python版】

1.題意

2.分析

直接模擬

  • 使用python 申請一個二維數組【使用生成表達式】

3.代碼

s = input()
nums = s.strip().split()
nums = [int(num) for num in nums]
n,m,x,y = nums[0:4]

arr = [[0 for i in range(m+5)] for j in range(n+5)] # 使用一個二維數組 N*M 存儲各個座標被炸的情況
flag = [[0 for i in range(m+5)] for j in range(n+5)] # 使用一個二維數組 N*M 存儲各個座標被炸的情況

# 輸入炸掉的座標
for i in range(x):
    s = input()
    nums = s.strip().split()
    nums = [int(num) for num in nums]
    lx,ly ,rx,ry = nums[0:4] # 得到左上右下的座標
    for k in range(lx,rx+1):
        for j in range(ly ,ry+1):
            arr[k][j]+=1;
            flag[k][j] = i+1

# 輸入
for i in range(y):
    s = input()
    nums = s.strip().split()
    nums = [int(num) for num in nums]
    qx,qy = nums[0:2]
    if arr[qx][qy] != 0:
        print("Y",arr[qx][qy],flag[qx][qy])
    else:
        print("N")
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章