博客
关于我
703. 数独检查 - AcWing题库
阅读量:629 次
发布时间:2019-03-14

本文共 1292 字,大约阅读时间需要 4 分钟。

数独是一种流行的单人游戏。

目标是用数字填充9x9矩阵,使每列,每行和所有9个非重叠的3x3子矩阵包含从1到9的所有数字。

每个9x9矩阵在游戏开始时都会有部分数字已经给出,通常有一个独特的解决方案。

1.png

2.png

给定完成的N2∗N2数独矩阵,你的任务是确定它是否是有效的解决方案。

有效的解决方案必须满足以下条件:

每行包含从1到N2的每个数字,每个数字一次。

每列包含从1到N2的每个数字,每个数字一次。
将N2∗N2矩阵划分为N2个非重叠N∗N子矩阵。 每个子矩阵包含从1到N2的每个数字,每个数字一次。
你无需担心问题的唯一性,只需检查给定矩阵是否是有效的解决方案即可。

输入格式

第一行包含整数T,表示共有T组测试数据。

每组数据第一行包含整数N。

接下来N2行,每行包含N2个数字(均不超过1000),用来描述完整的数独矩阵。

输出格式

每组数据输出一个结果,每个结果占一行。

结果表示为“Case #x: y”,其中x是组别编号(从1开始),如果给定矩阵是有效方案则y是Yes,否则y是No。

数据范围

1≤T≤100,
3≤N≤6

#include
#include
#include
#include
#include
#include
#include
using namespace std;#define ll long long#define N 40int a[N][N];int v[N];int m,n;bool check_row(){ for(int i=0; i
m || a[i][j]<1) return false; if(!v[a[i][j]]){ v[a[i][j]] = 1; } else{ return false; } } } return true;}bool check_col(){ for(int i=0; i
m || t<1) return false; if(!v[t]){ v[t] = 1; } else{ return false; } } } return true;}bool check_k()//检查块{ for(int i=0; i
m || t<1) return false; if(!v[t]){ v[t] = 1; } else{ return false; } } } } } return true;}int main(){ int t; cin>>t; for(int xx=1; xx<=t; ++xx){ cin>>n; m = n*n; for(int i=0; i
>a[i][j]; if(check_row() && check_col() && check_k()){ printf("Case #%d: Yes\n",xx); } else{ printf("Case #%d: No\n",xx); } } return 0;}

转载地址:http://jpxoz.baihongyu.com/

你可能感兴趣的文章
Netty 解决TCP粘包/半包使用
查看>>
Netty 调用,效率这么低还用啥?
查看>>
Netty 高性能架构设计
查看>>
Netty+Protostuff实现单机压测秒级接收35万个对象实践经验分享
查看>>
Netty+SpringBoot+FastDFS+Html5实现聊天App详解(一)
查看>>
netty--helloword程序
查看>>
netty2---服务端和客户端
查看>>
【Flink】Flink 2023 Flink易用性和稳定性在Shopee的优化-视频笔记
查看>>
Netty5.x 和3.x、4.x的区别及注意事项(官方翻译)
查看>>
netty——bytebuf的创建、内存分配与池化、组成、扩容规则、写入读取、内存回收、零拷贝
查看>>
netty——Channl的常用方法、ChannelFuture、CloseFuture
查看>>
netty——EventLoop概念、处理普通任务定时任务、处理io事件、EventLoopGroup
查看>>
netty——Future和Promise的使用 线程间的通信
查看>>
netty——Handler和pipeline
查看>>
Vue输出HTML
查看>>
netty——黏包半包的解决方案、滑动窗口的概念
查看>>
Netty中Http客户端、服务端的编解码器
查看>>
Netty中使用WebSocket实现服务端与客户端的长连接通信发送消息
查看>>
Netty中实现多客户端连接与通信-以实现聊天室群聊功能为例(附代码下载)
查看>>
Netty中的组件是怎么交互的?
查看>>