A5758 | 「NOIP2009」靶形数独
时间限制2s
内存限制128MB
通过 / 提交0/0
题目描述
小城和小华都是热爱数学的好学生,最近,他们不约而同地迷上了数独游戏,好胜的他们想用数独来一比高低。但普通的数独对他们来说都过于简单了,于是他们向 Z 博士请教, Z 博士拿出了他最近发明的「靶形数独」,作为这两个孩子比试的题目。
靶形数独的方格同普通数独一样,在 $9$ 格宽 $\times$ $9$ 格高 的大九宫格中有 $9$ 个 $3$ 格宽 $\times$ $3$ 格高 的小九宫格(用粗黑色线隔开的)。在这个大九宫格中,有一些数字是已知的,根据这些数字,利用逻辑推理,在其他的空格上填入 $1$ 到 $9$ 的数字。每个数字在每个小九宫格内不能 重复出现,每个数字在每行、每列也不能重复出现。但靶形数独有一点和普通数独不同,即 每一个方格都有一个分值,而且如同一个靶子一样,离中心越近则分值越高。(如图)

上图具体的分值分布是:里面一格(黄色区域)为 $10$ 分,黄色区域外面的一圈(红色区域)每个格子为 $9$ 分,再外面一圈(蓝色区域)每个格子为 $8$ 分,蓝色区域外面一圈(棕色区域)每个格子为 $7$ 分,外面一圈(白色区域)每个格子为 $6$ 分,如上图所示。
比赛的要求是:每个人必须完成一个给定的数独(每个给定数独可能有不同的填法),而且要争取更高的总分数。而这个总分数即每个方格上的分值和完成这个数独时填在相应格上的数字的乘积的总和。
如图,在以下的这个已经填完数字的靶形数独游戏中,总分数为 $2829$ 。游戏规定,将以总分数的高低决出胜负。

由于求胜心切,小城找到了善于编程的你,让你帮他求出,对于给定的靶形数独,能够得到的高分数。
靶形数独的方格同普通数独一样,在 $9$ 格宽 $\times$ $9$ 格高 的大九宫格中有 $9$ 个 $3$ 格宽 $\times$ $3$ 格高 的小九宫格(用粗黑色线隔开的)。在这个大九宫格中,有一些数字是已知的,根据这些数字,利用逻辑推理,在其他的空格上填入 $1$ 到 $9$ 的数字。每个数字在每个小九宫格内不能 重复出现,每个数字在每行、每列也不能重复出现。但靶形数独有一点和普通数独不同,即 每一个方格都有一个分值,而且如同一个靶子一样,离中心越近则分值越高。(如图)

上图具体的分值分布是:里面一格(黄色区域)为 $10$ 分,黄色区域外面的一圈(红色区域)每个格子为 $9$ 分,再外面一圈(蓝色区域)每个格子为 $8$ 分,蓝色区域外面一圈(棕色区域)每个格子为 $7$ 分,外面一圈(白色区域)每个格子为 $6$ 分,如上图所示。
比赛的要求是:每个人必须完成一个给定的数独(每个给定数独可能有不同的填法),而且要争取更高的总分数。而这个总分数即每个方格上的分值和完成这个数独时填在相应格上的数字的乘积的总和。
如图,在以下的这个已经填完数字的靶形数独游戏中,总分数为 $2829$ 。游戏规定,将以总分数的高低决出胜负。

由于求胜心切,小城找到了善于编程的你,让你帮他求出,对于给定的靶形数独,能够得到的高分数。
输入格式
输入一共 $9$ 行。每行 $9$ 个整数(每个数都在 $0—9$ 的范围内),表示一个尚未填满的数独方 格,未填的空格用 $0$ 表示。每两个数字之间用一个空格隔开。
输出格式
输出共 $1$ 行。
输出可以得到的靶形数独的高分数。如果这个数独无解,则输出整数 $-1$ 。
输出可以得到的靶形数独的高分数。如果这个数独无解,则输出整数 $-1$ 。
输入输出样例
输入 #1
7 0 0 9 0 0 0 0 1 1 0 0 0 0 5 9 0 0 0 0 0 2 0 0 0 8 0 0 0 5 0 2 0 0 0 3 0 0 0 0 0 0 6 4 8 4 1 3 0 0 0 0 0 0 0 0 7 0 0 2 0 9 0 2 0 1 0 6 0 8 0 4 0 8 0 5 0 4 0 1 2
输出 #1
2829
输入 #2
0 0 0 7 0 2 4 5 3 9 0 0 0 0 8 0 0 0 7 4 0 0 0 5 0 1 0 1 9 5 0 8 0 0 0 0 0 7 0 0 0 0 0 2 5 0 3 0 5 7 9 1 0 8 0 0 0 6 0 1 0 0 0 0 6 0 9 0 0 0 0 1 0 0 0 0 0 0 0 0 6
输出 #2
2852
$40\%$ 的数据,数独中非 $0$ 数的个数不少于 $30$;
$80\%$ 的数据,数独中非 $0$ 数的个数不少于 $26$;
$100\%$ 的数据,数独中非 $0$ 数的个数不少于 $24$ 。
$80\%$ 的数据,数独中非 $0$ 数的个数不少于 $26$;
$100\%$ 的数据,数独中非 $0$ 数的个数不少于 $24$ 。
C++ 编辑器
输入
输出
可保存默认模板;新题优先使用已保存模板。
当前快捷键仅展示,暂不支持修改。
- 撤销
Ctrl / ⌘ + Z - 重做
Ctrl / ⌘ + Y - 查找
Ctrl / ⌘ + F - 全选
Ctrl / ⌘ + A - 复制
Ctrl / ⌘ + C - 剪切
Ctrl / ⌘ + X - 粘贴
Ctrl / ⌘ + V - 自动排版
工具栏排版按钮 - 草稿保存
编辑时自动保存到本机
历史
提交记录
状态说明时间源码
AI
作答助手
你好,我是作答助手。可以问思路、复杂度、样例含义或代码报错原因;不会直接给出完整 AC 代码。
确定要清空代码吗?