#35516: Python前綴和解


s11104220@school.saihs.edu.tw (施同學)

學校 : 臺北市立松山高級工農職業學校
編號 : 221254
來源 : [118.165.27.136]
最後登入時間 :
2024-08-27 03:46:40
k732. 2. 特殊位置 -- 2023年6月APCS | From: [123.193.213.137] | 發表日期 : 2023-06-05 18:14

from sys import stdin
def main():
    n,m=map(int,stdin.readline().split())
    s=[list(map(int,stdin.readline().split())) for _ in range(n)]
    ns=[[0]*(m+1) for _ in range(n)]
    for i in range(n):
        count=0
        for j in range(m):
            count+=s[i][j]
            ns[i][j+1]=count
    ans=0
    lan=[]
    for i in range(n):
        for j in range(m):
            c=0
            aij=s[i][j]
            sk=i-aij
            if sk<0:sk=0
            ek=i+aij
            if ek>=n:ek=n-1
            for k in range(sk,ek+1):
                sj=j-aij+abs(i-k)
                if sj<0:sj=0
                ej=j+aij-abs(i-k)
                if ej>=m:ej=m-1
                c+=ns[k][ej+1]-ns[k][sj]
            if c%10==aij%10:
                ans+=1
                lan.append([i,j])
    print(ans)
    for i in range(ans):print(*lan[i])
main()
 
ZeroJudge Forum