用正则表达式检查每个空位的八个相邻方向是否存在连续若干个X接一个O的字符串的即可。
代码在该帖的基础上结合字符串数组等短码技巧作了进一步优化。
最终代码只有两行。
代码长度:150字节 vs. 全站第一:116字节。
import sys,re
for a in sys.argv[1:]:print(''.join([a[p],'!'][any(re.match(r'\.X+O|',a[p::d-75]).group()for d in b'ABCJLSTU')]for p in range(71))+'\n')
|