我最近参加了竞争性编程比赛,但遇到了一个问题。问题是艾达·金。 [问题链接] [1]:https://www.codechef.com/JULY20B/problems/ADAKING
我对这个问题的解决方法是,如果我们从顶部开始在板上留出k个空格供国王使用,然后用障碍物填补其余的空间,那么国王只能移动k个单元格。逻辑证明是正确的,但是在我编写的代码中,我很难将第一行的第一个正方形更改为包含代表国王的“ O”,程序有时将第一列的所有元素更改为“ O”或前两个。与“。”相同的故事用于表示空正方形。有人可以看看我的代码并提出任何更正建议
x=['X' for __ in range(8)]
dot=['.' for ___ in range(8)]
t=int(input())
for _ in range(t):
arr=[]
for i in range(8):
arr+=[x]
k=int(input())
row=k//8
extra=k%8
for i in range(row):
arr[i]=dot
for j in range(extra):
arr[row][j]='.'
arr[0][0]='O'
for i in arr:
print(*i)