当前位置:网站首页>Judge whether it is Sudoku
Judge whether it is Sudoku
2022-07-02 08:41:00 【Tutu is a cat】
subject
Sudoku is a popular number filling game . The most typical Sudoku by 9*9 It's made up of squares , There will be some 1~ 9 The number of . Players need to fill in the numbers of the remaining grids , Make the row where each grid is located 、 Column 、 The small nine palaces contain 1~9 The number of , No weight, no leakage .
Now Xiao Ming has finished some Sudoku games with all the numbers filled in , Preparing to excavate . But before that , He wants you to check whether the problem surface is correct , That is, whether each grid of the completed question surface meets the line 、 Column 、 The little nine palaces contain 1~9.
Input
Enter a number in the first line T, Indicates the number of Sudoku puzzles Xiao Ming has completed .
After that, enter a total of 9 That's ok , Each row 9 The number is separated by a space , Indicates the number in the completed Sudoku .
Output
The output, T That's ok , A string on each line indicates whether the Sudoku is correct .
Output correctly "YES", If there is an error, output "NO".
Data range
about 100% The data of ,1≤T≤5,1≤ Every number ≤9.
sample input
2
7 6 2 5 9 3 1 4 8
9 4 1 2 7 8 5 3 6
8 3 5 4 6 1 7 9 2
1 9 8 6 2 7 3 5 4
4 7 6 3 5 9 2 8 1
2 5 3 8 1 4 6 7 9
3 8 7 1 4 6 9 2 5
5 1 4 9 3 2 8 6 7
6 2 9 7 8 5 4 1 3
8 1 4 7 3 2 6 5 9
9 2 3 6 5 8 1 4 7
5 7 6 4 9 1 2 8 3
3 4 5 2 6 7 8 9 1
1 8 9 3 4 5 3 2 6
2 6 7 1 8 9 5 3 4
7 5 1 9 2 4 7 6 8
4 3 8 5 7 6 9 1 2
6 9 2 8 1 3 4 7 5
sample output
YES
NO
Answer key
Go Language implementation
package main
import (
"fmt"
)
func main() {
// Input
var T int
fmt.Scan(&T)
if T < 1 || T > 5 {
fmt.Println("T Out of range ")
return
}
flag := true
var result [5] bool
for i := 0; i < T; i++ {
// Input array
var c [9][9] int
for i := 0; i < 9; i++ {
for j := 0; j < 9 ; j++ {
var num int
fmt.Scan(&num)
c[i][j] = num
}
}
for n := 0; n < 9 ; n++ {
// Better
if isRepetition(c[n]) {
flag = false
break
}
// Comparison column
var col [9] int
for k := 0; k < 9 ;k++ {
col[k] = c[k][n]
}
if isRepetition(col){
flag = false
break
}
}
if flag {
// squared paper for practicing calligraphy
var nine [9] int
for n := 0 ; n < 7; n++{
for k := 0 ; k < 7; k++{
nine[0] = c[n][k]
nine[1] = c[n+1][k]
nine[2] = c[n][k+1]
nine[3] = c[n+2][k]
nine[4] = c[n][k+2]
nine[5] = c[n+2][k+1]
nine[6] = c[n+1][k+2]
nine[7] = c[n+1][k+1]
nine[8] = c[n+2][k+2]
}
}
if isRepetition(nine) {
result[i] = false
}else {
result[i] = true
}
}else {
result[i] = false
}
}
for i := 0; i < T ; i++{
if result[i] {
fmt.Println("YES")
}else {
fmt.Println("NO")
}
}
}
// In the array 9 Whether the number is repeated
func isRepetition(numChar [9] int) bool {
for i := 0 ; i < len(numChar)-1; i++ {
for j := i+1; j < len(numChar); j++ {
if numChar[i] == numChar[j] {
return true
}
}
}
return false
}
边栏推荐
- Driving test Baodian and its spokesperson Huang Bo appeared together to call for safe and civilized travel
- Linux二进制安装Oracle Database 19c
- D interface and domain problems
- Smart agriculture solutions smart agriculture system development
- 旋转链表(图解说明)
- Generate database documents with one click, which can be called swagger in the database industry
- In depth understanding of prototype drawings
- ICMP协议
- TCP/IP—传输层
- Use the kaggle training model and download your own training model
猜你喜欢

Web security -- core defense mechanism

HCIA - application layer

Matlab mathematical modeling tool

OpenFeign 简单使用

HCIA—应用层

sqli-labs第2关

Linked list classic interview questions (reverse the linked list, middle node, penultimate node, merge and split the linked list, and delete duplicate nodes)

Valin cable: BI application promotes enterprise digital transformation

c语言将字符串中的空格替换成%20

Sqli labs level 12
随机推荐
Illegal use of crawlers, an Internet company was terminated, the police came to the door, and 23 people were taken away
The source code of the live app. When the verification method is mailbox verification, the verification code is automatically sent to the entered mailbox
Application of kotlin - higher order function
Routing foundation - dynamic routing
Kubedm deploys kubernetes v1.23.5 cluster
W10 is upgraded to W11 system, but the screen is black, but the mouse and desktop shortcuts can be used. How to solve it
Dip1000 runaway
Intelligent manufacturing solutions digital twin smart factory
HCIA—應用層
2022 Heilongjiang latest food safety administrator simulation exam questions and answers
The best blog to explain the basics of compilation (share)
什么是SQL注入
Service de groupe minecraft
C language custom type enumeration, Union (clever use of enumeration, calculation of union size)
Learning C
Flex layout
Linux安装Oracle Database 19c RAC
Use C language to receive JSON strings
Global and Chinese markets of tilting feeders 2022-2028: Research Report on technology, participants, trends, market size and share
Don't know mock test yet? An article to familiarize you with mock