You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python数独3x3区块校验函数本地正常但学校评测程序功能校验失败求助

Python数独3x3区块校验函数本地正常但学校评测程序功能校验失败求助

我之前见过类似的数独校验问题,但这次想到了一个不算常见的解法。奇怪的是,这个函数在我本地测试是正常的,但提交到学校的评测系统后,功能校验没通过——明明应该返回false的场景,结果却不符合预期,实在摸不着头脑。

我的需求是实现一个函数,校验数独中指定行号(row_no)和列号(column_no)所在的3x3区块是否合法。

先贴出我的数独示例和函数代码:

sudoku = [
  [9, 0, 0, 0, 8, 0, 3, 0, 0],
  [2, 0, 0, 2, 5, 0, 7, 0, 0],
  [0, 2, 0, 3, 0, 0, 0, 0, 4],
  [2, 9, 4, 0, 0, 0, 0, 0, 0],
  [0, 0, 0, 7, 3, 0, 5, 6, 0],
  [7, 0, 5, 0, 6, 0, 4, 0, 0],
  [0, 0, 7, 8, 0, 3, 9, 0, 0],
  [0, 0, 1, 0, 0, 0, 0, 0, 3],
  [3, 0, 0, 0, 0, 0, 0, 0, 2]
]


def block_correct(sudoku: list, row_no: int, column_no:int):

    correct = [1,2,3,4,5,6,7,8,9]       # 用来对比的标准合法列表

    n=0                                 # 行计数器
    b=0                                 # 列计数器
    check_sq= []                        # 用来存储目标3x3区块的数字
    # 后续逻辑还在处理中...

我的思路是:先把目标3x3区块里的所有数字收集到check_sq列表,然后和包含1-9的correct列表对比,判断是否合法。但现在不确定是不是在3x3区块的范围计算上出了问题?或者是处理空单元格(0)的时候有疏漏?毕竟本地的测试用例和学校评测的测试用例可能不一样,有没有大佬能帮我排查一下可能的坑点?

备注:内容来源于stack exchange,提问作者user3042850

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.15 13:38:04