HDU - 1426 Sudoku Killer(DFS)

LeGO-LOAM运行kitti数据集 文章目录1. kitti-lego-loam2. 改动3. 实验结果4. evo轨迹测评 1. kitti-lego-loam 链接:kitti-lego-loam kitti-lego-loam提供了将kitti序列转化成rosbag的代码,在kittibag中. 需要注意下数据文件的存放顺序,以00序列为例: datafolder          |____results          & 阅读详情

Sudoku Killer

Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 8081    Accepted Submission(s): 2494


Problem Description
自从2006年3月10日至11日的首届数独世界锦标赛以后,数独这项游戏越来越受到人们的喜爱和重视。
据说,在2008北京奥运会上,会将数独列为一个单独的项目进行比赛,冠军将有可能获得的一份巨大的奖品———HDU免费七日游外加lcy亲笔签名以及同hdu acm team合影留念的机会。
所以全球人民前仆后继,为了奖品日夜训练茶饭不思。当然也包括初学者linle,不过他太笨了又没有多少耐性,只能做做最最基本的数独题,不过他还是想得到那些奖品,你能帮帮他吗?你只要把答案告诉他就可以,不用教他是怎么做的。

数独游戏的规则是这样的:在一个9x9的方格中,你需要把数字1-9填写到空格当中,并且使方格的每一行和每一列中都包含1-9这九个数字。同时还要保证,空格中用粗线划分成9个3x3的方格也同时包含1-9这九个数字。比如有这样一个题,大家可以仔细观察一下,在这里面每行、每列,以及每个3x3的方格都包含1-9这九个数字。

例题:


答案:

 

Input
本题包含多组测试,每组之间由一个空行隔开。每组测试会给你一个 9*9 的矩阵,同一行相邻的两个元素用一个空格分开。其中1-9代表该位置的已经填好的数,问号(?)表示需要你填的数。
 

Output
对于每组测试,请输出它的解,同一行相邻的两个数用一个空格分开。两组解之间要一个空行。
对于每组测试数据保证它有且只有一个解。
 

Sample Input
  
7 1 2 ? 6 ? 3 5 8 ? 6 5 2 ? 7 1 ? 4 ? ? 8 5 1 3 6 7 2 9 2 4 ? 5 6 ? 3 7 5 ? 6 ? ? ? 2 4 1 1 ? 3 7 2 ? 9 ? 5 ? ? 1 9 7 5 4 8 6 6 ? 7 8 3 ? 5 1 9 8 5 9 ? 4 ? ? 2 3
 

Sample Output
  
7 1 2 4 6 9 3 5 8 3 6 5 2 8 7 1 9 4 4 9 8 5 1 3 6 7 2 9 2 4 1 5 6 8 3 7 5 7 6 3 9 8 2 4 1 1 8 3 7 2 4 9 6 5 2 3 1 9 7 5 4 8 6 6 4 7 8 3 2 5 1 9 8 5 9 6 4 1 7 2 3
 

Author
linle
 

Source
 

Recommend
LL   |   We have carefully selected several similar problems for you:   1258  1045  2553  1016  1010 
 

Statistic |  Submit |  Discuss |  Note

找出所有?所在的位置dfs爆搜即可,这题的输入是个坑点,用gets容易TLE。
#include <bits/stdc++.h>
using namespace std;

char a[3];
int f[10][10], p = 0;
struct xx{
    int a, b;
} b[1001];

bool judge(int u, int v, int w){
    for(int i = 1; i <= 9; i++){
        if(f[i][v] == w) return 0;
        if(f[u][i] == w) return 0;
    }
    int ii, jj;
    if(u%3 == 0) ii = u-2;
    else ii = u/3*3+1;
    if(v%3 == 0) jj = v-2;
    else jj = v/3*3+1;
    for(int i = ii; i <= ii+2; i++){
        for(int j = jj; j <= jj+2; j++){
            if(i == u && j == v) continue;
            if(f[i][j] == w) return 0;
        }
    }
    return 1;
}

bool flag;
void dfs(int k, int s){
    if(k == s){
        flag = 1;
        return;
    }
    for(int i = 1; i <= 9; i++){
        if(judge(b[k].a, b[k].b, i)){
            f[b[k].a][b[k].b] = i;
            dfs(k+1, s);
        }
    }
    if(flag) return;
    f[b[k].a][b[k].b] = 0;
}

int main(){
    while(~scanf("%s", a)){
        int s = 0;
        if(a[0] == '?'){
            f[1][1] = 0;
            b[s].a = b[s++].b = 1;
        }
        else f[1][1] = a[0]-'0';
        for(int i = 1; i <= 9; i++){
            for(int j = 1; j <= 9; j++){
                if(i == 1 && j == 1) continue;
                scanf("%s", a);
                if(a[0] == '?'){
                    f[i][j] = 0;
                    b[s].a = i, b[s++].b =j;
                }
                else f[i][j] = a[0]-'0';
            }
        }
        flag = 0;
        dfs(0, s);
        if(p) printf("\n");
        p = 1;
        for(int i = 1; i <= 9; i++){
            for(int j = 1; j <= 9; j++){
                printf("%d%c", f[i][j], j < 9 ? ' ' : '\n');
            }
        }
    }
}


MFC工具栏增加EditBox和Button 1. 在资源视图中增加EditBox, Button控件,ID分别为ID_EDIT_SEED, ID_BTN_SEED 2. 在CMainFrame中增加成员变量 CMFCToolBarEditBoxButton *m_editSeed; CMFCToolBarButton *m_btnSeed; 3. 在CMainFrame::OnCreate中创建控件 m_editSeed = new CMFCToolBarEditBoxButton(ID_EDIT_SEED, GetCmdMgr()-&. 阅读详情

相关推荐

python模拟银行交易流水

模拟自动生成银行交易流水,其中包括:入账账号、出账账号、交易金额、交易余额、交易时间、出入表示关键字段

qq_31823889的博客 2910

HDU 1426 Sudoku Killer

#include<stdio.h> struct node { int x,y; }p[81];//存要求的值 char ans[9][9];//存最后答案 int map[9][9],flag,num; //验证,是否符合数独条件:1 YES;2 NO; int ok(int q,int k) { int i,j,si,sj; for(i=0;i<9;i++)//验证水平&&竖直方向上是否符合 if(map[p[q].x][i]==k&&i!=p[q].y)return

surfacedust的专栏 1317

MATLAB/simulink电力系统之变压器仿真+变压器饱和仿真+空载变压器电流畸变原因及仿真+空载合闸励磁涌流仿真+simulink免费仿真资源

单相变压器空载运行时,原边电流主要用来产生主磁场,而电路损耗和铁芯损耗很小,因此即使外加电压很大,空载电流仍然很小。如果想观察某个相对磁导率下电感系数的数值,可以在程序中增加这样的语句,比如,在程序中end语句之后,加上L(100),运行程序后就可以得到相对磁导率为 100时的电感系数值。在交流铁芯线圈中,当交变磁通按照正弦规律变化时,受到磁路饱和的影响,线圈中的电流会发生畸变,并成为尖顶波,这就是所谓的交流磁路电流畸变。需要指出,铁芯内的主磁通Ф可以通过空载时的副边电压从来测量,两者之间的数学关系,即。

m0_37724753的博客 4230

Sudoku Killer(搜索)

Sudoku Killer [link](Problem - 1426 (stdu.edu.cn)) 题意 给你一道数独题,输出他的解。 题解 枚举需要填的位置,不断的填然后看是否成立即可。但是这样搜索的时间复杂度很高,有可能会被一些数据卡,考虑优化。 一般搜索优化可以考虑的有: 优化搜索顺序:尽量使得分支数量少,好剪枝 排除等效冗余:组合数,不重复 可行性剪枝:不符合条件的都砍掉 最优化剪枝:比当前结果大的都砍掉 记忆化搜索(DP) 我们考虑用二进制优化,分别用三个二进制数来表示行、列、方格里那些数可

a12377978的博客 422

内核工作FAST‘25 Artifact Evaluation流程记录

在我们的paper中,复现需要用到傲腾持久化内存,因此,需要AE Reviewer访问到内网服务器中。我们的思路是购买云服务器,将其作为跳板机,内网服务器通过SSH反向代理与公网服务器建立隧道,AE Reviewer通过隧道访问内网服务器。我们在AE过程中使用。然后,把一切复现需要的代码环境,在chroot里面配置完成。

不定期更新系统使用、编程小技巧,哔哩哔哩账号:https://space.bilibili.com/399455629,欢迎关注 1215

【实战指南】基于YOLOv11的肺结节检测系统开发与优化(LUNA2016数据集)

本文提供了基于YOLOv11模型和LUNA2016数据集开发肺结节检测系统的完整实战指南。详细介绍了从环境搭建、数据预处理、模型训练与优化,到构建Web应用系统的全流程,旨在帮助开发者快速掌握医疗影像AI项目的核心开发技能。

weixin_29031057的博客 140

HDU 1426 Sudoku Killer(经典DFS)

Sudoku Killer               Time Limit: 2000/1000 MS (Java/Others)Memory Limit: 65536/32768 K (Java/Others)                      Total Submission(s): 3017Accepted Submission(s): 942 ...

MengDeMao1234的博客 236

WOFOST作物模型(1):PCSE环境配置

get_summary_output() 方法通常用于在 PCSE 模拟过程结束后,获取模拟结果的摘要信息,例如模拟期间的总产量、总水分需求等。它可以提供对模拟结果的快速总结,方便用户进行后续的分析和处理。用.get_output来获取过程参数,并将这些参数转为dataframe显示。用run_till_terminate()代表终止。安装好之后,打开jupyter notebook。也可以指定运行时间,并获取最后一天的参数。首先还是打开之前建好的gee虚拟环境。

所有专家都曾始于新手 681

hdu 1426

题意:中文题,此处省。 ac代码: View Code #include<iostream> using namespace std; int map[12][12]; int k; int foat; struct tree { int i; int j; }node[90]; int check(struct tre...

weixin_34309435的博客 185

基于TENG的呼吸测量与识别系统:从蓝牙到WiFi的改造与上位机实现

本文介绍了一种基于摩擦纳米发电机(TENG)的呼吸测量系统改造方案,将原有蓝牙通信升级为WiFi传输。系统通过TENG传感器采集呼吸信号,STM32微控制器处理数据后,经ESP8266 WiFi模块发送至上位机。文中详细阐述了硬件改造(四通道改单通道、蓝牙换WiFi)、嵌入式软件修改(包括ESP8266驱动、数据采集与TCP通信实现)以及上位机软件设计。改造后的系统提升了传输距离和稳定性,为可穿戴健康监测提供了更优解决方案。

huanghm88的专栏 110

【MERRA-2数据集】M2I1NXASM (5.12.4) 和 M2I1NXINT (5.12.4)概述

M2I1NXASM (5.12.4) 和 M2I1NXINT (5.12.4)概述

WW、forever的博客 680

Sudoku Killer(hdu 1426 数独)

数独游戏的规则是这样的:在一个9x9的方格中,你需要把数字1-9填写到空格当中,并且使方格的每一行和每一列中都包含1-9这九个数字。同时还要保证,空格中用粗线划分成9个3x3的方格也同时包含1-9这九个数字。比如有这样一个题,大家可以仔细观察一下,在这里面每行、每列,以及每个3x3的方格都包含1-9这九个数字。例题:答案: Input 本题包含多组测试,每组之间由一个空行隔开。每组...

weixin_33739627的博客 216

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

hdu1426 Sudoku Killer 让我哭的DFS

折磨了我2天了     TLE 一开始一点思路都没有  哎    好失败   加油 轰轰轰轰    轰炸机     轰炸 轰炸 轰炸   轰轰轰轰   把DFS砸烂   靠 Sudoku Killer Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submi

hnust_xiehonghao的专栏 2052

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

ACM-DFS之Sudoku Killer——hdu1426

ACM DFS Sudoku Killer hdu1426

继续激情,继续奋斗。 2002

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

【HDU 1426 Sudoku Killer】+ DFS

Sudoku KillerTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 7657 Accepted Submission(s): 2364Problem Description 自从2006年3月10日至11日的首届数独世界锦标

楚江枫 823

HDU1426 Sudoku Killer 数独 DFS 注意输入格式 Java版

HDU1426 Sudoku Killer 思路: 将每一个 ? 位置存储起来,每一个位置从1到9枚举,符合条件就存上。具体思路看代码 注意数据的读入,方式不对会导致TLE import java.util.*; public class Main { static class node { int x,y; node(){}; node(int x,int y) ...

没有梦想何以远行 332

【DFS】hdu 1426 Sudoku Killer

http://acm.hdu.edu.cn/showproblem.php?pid=1426 分析:同hdu 2780相同,注意退细节的处理 #include #include #include using namespace std; const int NM=20; int a[NM][NM],vis[NM],k,flag; struct Sudu{ int x,y; }s[

yduqytd的专栏 614

HDU 1426--Sudoku Killer【DFS】

Sudoku Killer Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 4724    Accepted Submission(s): 1529 Problem Description 自从2006年3月10日至11日

_阿阿阿阿欢 720

HDU-1426-Sudoku Killer【DFS】

HDU-1426-Sudoku Killer【DFS】

Linoy 766

hdu 1426 Sudoku Killer(DFS 数独问题)

坑爹的输入啊!!! 思路:先将需要填的数的坐标记录在结构体数组中,运用深搜填数,然后在通过一个judge函数判断是否符合要求 #include #include int map[9][9],num; struct node { int x,y; }s[81]; bool judge(int t,int cur) { int i,j; for(i = 0 ; i <

no pains,no gains 1338

hdu1426 Sudoku Killer(经典DFS)

看了别人的,思路很明确,但敲起来很困难,输入输出都要注意,越是长的题就越不容易找错误,还需要好好理解啊。。。 PS:今天上午看了库里的封神战,有点感触,我们的努力不会白费,未来的奇迹就是由这些努力创造的! #include #include #include #include #include using namespace std; const int N = 30; cons

Iguodala的博客 511

hdu 1426 Sudoku Killer (dfs)

Sudoku Killer Time Limit: 2000/1000 MS (Java/Others)Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 3674Accepted Submission(s): 1160 Problem Description 自从2006年3月10日至11...

anque1234的博客 146

HDU1426 Sudoku Killer(dfs)[C++]

目录题目及翻译题面输入输出输入样例输出样例题目思路注意事项AC代码C++ 题目及翻译 题面 自从2006年3月10日至11日的首届数独世界锦标赛以后,数独这项游戏越来越受到人们的喜爱和重视。 据说,在2008北京奥运会上,会将数独列为一个单独的项目进行比赛,冠军将有可能获得的一份巨大的奖品———HDU免费七日游外加lcy亲笔签名以及同hdu acm team合影留念的机会。 所以全球人民前仆后继,...

扶她小藜 337

hdu 1426 Sudoku Killer dfs

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1426 #include #include int x[10][10],y[10][10],r[10][10],s[10][10],flag;//x[i][j]表示i行,j这个数是否出现过 //y

qqspeed 814

hdu 1426(Sudoku Killer)DFS

早就感觉这一题很有意思,一直迫于麻烦没有写,今天下午花了将近三个小时AC掉了,呵呵,以后就不怕这样的数独了。 大致思路:用一个结构体s,将每一个‘?’的位置信息记录,以备后面DFS。 对s中的每一个元素进行遍历,即对每一个‘?’号遍历。 每个‘?’号处试着放入1-9的数并检查这个数是否符合要求。即,检查一行,一列以及一个3×3方格内是否有相同的数。 刚开始,每组个实例后输出一个空格后说是表...

weixin_30296405的博客 122

HDU-1426 Sudoku Killer (技巧DFS)

题目传送门 Sudoku Killer Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 10846    Accepted Submission(s): 3199   Problem Descriptio...

大芝士球的博客 312
上一篇: NEUQ 1768 一道简单的递推题(矩阵快速幂)
下一篇: HDU - 1505 City Game(求最大全零矩阵)
信鸦
博客等级 码龄10年 10粉丝 133原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值