l,s = [],0
for q in range(n**2):
    l.append(1)
for w in range(m):
    x,y = map(int,input().split())
    p = (x-1)*n+y-1
    if l[p] != 0:
        if p<n:
            if p == 0:
                l[p+1],l[p+n] = 0,0
            elif p == n-1:
                l[p-1],l[p+n] = 0,0
            else:
                l[p-1],l[p+1],l[p+n] = 0,0,0
        elif p>=n*(n-1):
            if p == n*(n-1):
                l[p-n],l[p+1] = 0,0
            elif p == n**2-1:
                l[p-n],l[p-1] = 0,0
            else:
                l[p-1],l[p+1],l[p-n] = 0,0,0
        elif p%n == 0:
            if p == 0:
                l[p+1],l[p+n] = 0,0
            elif p == n*(n-1):
                l[p+1],l[p-n] = 0,0
            else:
                l[p-n],l[p+n],l[p+1] = 0,0,0
        elif p%n == n-1:
            if p == n-1:
                l[p+n],l[p-1] = 0,0
            elif p == n**2-1:
                l[p-n],l[p-1] = 0,0
            else:
                l[p-1],l[p+n],l[p-n] = 0,0,0
        else:
            l[p+n],l[p-n],l[p+1],l[p-1] = 0,0,0,0
    l[p] = 0
for o in l:
    if o == 1:
        s+=1
if s == 0:
    print('You Died!')
else:
    print(s)
    for i in range(n):
        for j in range(n):
            print(l[n*i+j],end=' ')
        print()

求简便解法(此代码运行时间过长,约10000ms)😄

1 条评论

  • 1

信息

ID
1909
时间
ms
内存
MiB
难度
9
标签
递交数
42
已通过
4
上传者