2012年"浪潮杯"山东省第三届ACM大学生程序设计竞赛——Mine Number

Unity新手必看:5分钟搞定TextMeshPro中文乱码,告别小方块(附7000+常用字库) 本文详细介绍了Unity中TextMeshPro中文乱码问题的解决方案,包括快速生成中文字体的步骤和优化技巧。通过使用支持中文的.ttf字体文件和自定义字符集,开发者可以在5分钟内解决TMP显示小方块的问题,提升游戏或应用的文本显示效果。 阅读详情

题目链接:http://acm.sdut.edu.cn/sdutoj/problem.php?action=showproblem&problemid=2410

Mine Number

题目意思很简单,玩过扫雷的人都能秒懂,可是实施起来,却不容易呀!!!

首先对第一行进行枚举,不冲突即可,其他行:上一行为0,此行不能放雷,上一行为1,此处进行枚举,不冲突即可。而且有几个很坑的地方,我就不多说了,代码有备注,自己看吧。。。

#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;

int n,m,flag;
char mine[25][25],aa[25][25];
int dx[]={0,-1,0,1,0},dy[]={0,0,-1,0,1};
int a[25][25];

bool outmap(int x,int y)
{
    if(x<0||x>=n||y<0||y>=m)
        return true;
    return false;
}

void down(int x,int y)  //该点是雷,周围减1
{
    int i,xx,yy;
    for(i=0;i<5;i++)
    {
        xx=x+dx[i];
        yy=y+dy[i];
        if(!outmap(xx,yy))
            a[xx][yy]--;
    }
}

void up(int x,int y)    //该点不是雷,周围加1
{
    int i,xx,yy;
    for(i=0;i<5;i++)
    {
        xx=x+dx[i];
        yy=y+dy[i];
        if(!outmap(xx,yy))
            a[xx][yy]++;
    }
}

int check2(int x,int y) //判断周围是否符合条件
{
    int i,xx,yy;
    for(i=0;i<5;i++)
    {
        xx=x+dx[i];
        yy=y+dy[i];
        if(!outmap(xx,yy))
            if(a[xx][yy]<=0)
                return 0;
    }
    return 1;
}

int check3()
{
    int i;
    for(i=0;i<m;i++)
        if(a[n-1][i]!=0)
            return 0;
    return 1;
}

void print()
{
    int i,j;
    for(i=0;i<n;i++)
    {
        for(j=0;j<m;j++)
            printf("%c",mine[i][j]);
        printf("\n");
    }
}

void dfs(int x,int y)
{
    if(flag)
        return;
    if(x==n)
    {
        if(check3())
        {
            flag=1;
            print();    //经过,我无数次的实验,貌似print()这个输出不放在这个位置就会一直wrong。。。
            //我在想会不会有没有符合情况的没有输出呀。。。
        }
        return ;
    }
    if(y==m)
    {
        dfs(x+1,0);
        return;
    }
    if(x==0)  // 首先对第一行进行枚举,不冲突即可
    {
        if(check2(x,y))
        {
            mine[x][y]='*';
            down(x,y);
            dfs(x,y+1);
            up(x,y);
        }
        mine[x][y]='.';
        dfs(x,y+1);
    }
    else
    {
        if( a[x-1][y]==0 )    // 上一行为0,此行不能放雷
        {
            mine[x][y]='.';
            dfs(x,y+1);
        }
        else if( a[x-1][y]==1 )   // 上一行为1,此处进行枚举,不冲突即可
            if( check2(x,y) )
            {
                mine[x][y]='*';
                down(x,y);
                dfs(x,y+1);
                up(x,y);
            }
    }
}

int main()
{
    int T,t=1;
    scanf("%d",&T);
    while(T--)
    {
        int i,j;
        flag=0;
        scanf("%d%d",&n,&m);
        for(i=0;i<n;i++)
            scanf("%s",aa[i]);
        for(i=0;i<n;i++)
            for(j=0;j<m;j++)
                a[i][j]=aa[i][j]-'0';
        printf("Case %d:\n",t++);   //尼玛,真不想吐槽,放在dfs(0,0)后就一直wrong...
        dfs(0,0);
    }
    return 0;
}


震坤行:企业 MRO 物料标准化革新之路 那产生这些问题的原因是什么呢?要想解决此问题,企业高层必须下定决心对历史数据进行梳理,并善于利用信息技术,融合企业管理的流程机制,建立起一套适合企业发展的物料标准化管理体系,循序渐进,逐步规避由物料不规范带来的管理问题,最终使得这套标准化体系能够满足企业多元化业务发展需要。国内某电子制造头部企业原先内部物料无对应分类,仅有物料编码,给企业对采购、领料的过程中造成极大的不变,基于震坤行的目录结构,预测物料对应的分类,预测准确率达到80%以上,再辅以人工校正,最终搭建起一套标准的目录体系,如图2.2所示。 阅读详情

相关推荐

浮点数精度陷阱全解析:从IEEE 754到深度学习部署选型

在计算机数值计算中,浮点数是表示带小数数字的标准方式,但它的存储规则决定了精度和边界天生存在限制。许多开发者都曾遭遇过0.1+0.2不等于0.3的尴尬,或是模型训练中loss变成NaN的困扰,这些问题的根源往往指向IEEE 754标准中的规格化、非规格化表示及舍入规则。理解浮点数的底层原理,不仅能避开直接的比较判断陷阱,还能指导我们在不同场景下做出合理的技术选型。从C语言的printf到Python的repr,从嵌入式串口打印到深度学习中的FP32、FP16、BF16、TF32格式,浮点数知识贯穿底层开发和

weixin_34314962的博客 462

Mine Number(2012年"浪潮杯"山东省第三届ACM大学生程序设计竞赛)

题目描述 Every one once played the game called Mine Sweeping, here I change the rule. You are given an n*m map, every element is a '*' representing a mine, or a '.' representing any other thing. If I

AC之路 736

HCIP-Cloud Service DevOps Engineer V2.0 华为认证云服务 DevOps高级工程师 章节测试题+结课测试题(模拟考试题)汇总

本文为HCIP-Cloud Service DevOps Engineer V2.0 华为认证云服务DevOps高级工程师 在线课程中所有章节测试以及结课测试(HCIP-Cloud Service DevOps Engineer模拟考试)习题和答案

gaogao0305的博客 2264

[2012山东省第三届ACM大学生程序设计竞赛]——Mine Number

2012山东省第三届ACM大学生程序设计竞赛 Mine Number ACM省赛 DFS

继续激情,继续奋斗。 2046

Aruco标签定位、测距、三维位置估算 opencv应用

摄像头要一开始对准aruco标签才开始运行。+ 相机标定文件(参考我的上篇文章)+ aruco标签6*6。

dgut_guangdian的博客 4221

Mac---安装Navicat

把这个填充好的字符串放入刚才打开的RSA在线加解密的网站中的第二个框框(替换之前的请求码),第一个框框不动(还是之前第10步骤中的私钥),点击RSA私钥加密,这时会得到一个加密的字符串,这个就是激活码。{“K”:“你的K值”, “N”:“52pojie”, “O”:“52pojie.cn”, “DI”:“你的DI值”, “T”:你的时间戳}链接: https://pan.baidu.com/s/1mEVY4hnKdktg-p7DBIfD7A 提取码: twwg。Navicat会弹出一个对话框,点击“注册”

weixin_53970868的博客 1万+

SDUT 2410 Mine Number 2012年山东省第三届ACM大学生程序设计竞赛题

Mine Number Time Limit: 1000ms   Memory limit: 65536K  有疑问?点这里^_^ 题目描述 Every one once played the game called Mine Sweeping, here I change the rule. You are given an n*m map, every element i

L-75的专栏 509

Python数据分析师必备:OpenClaw开启Pandas清洗脚本自动生成新时代

本文介绍了OpenClaw这一AI智能体框架如何帮助Python数据分析师高效完成数据清洗工作。OpenClaw通过自然语言交互理解用户需求,自动生成Pandas清洗脚本,显著提升了数据清洗效率,降低了技术门槛。文章详细阐述了OpenClaw的工作原理、实战应用步骤及其在电商、金融、医疗等行业中的成功案例。相比传统手动编写脚本方式,OpenClaw能快速生成规范准确的清洗代码,使数据分析师能更专注于业务洞察。该工具为数据驱动决策提供了可靠支持,是数据分析领域的重要创新。

远程部署调试 运行安装 项目调试 二次开发 项目技术新 持续迭代 部分源码免费分享 228

第三届 山东省ACM省赛 Mine Number(二进制查分+暴力)

http://www.sdutacm.org/sdutoj/problem.php?action=showproblem&problemid=2410 只要是第一行确定了,全部棋局也就确定了,dfs搜索第一行的情况,然后后面的直接根据上一行而定,这样最后就能得出整个矩阵了,第一行最多20个,也就是复杂度为2^20,不会超时,并且中间还会有剪枝。 但是苦逼的是当时模拟的时候感觉dfs没什

AI蜗牛之家 1124

LVGL 磁罗盘效果

环境:LVGL 9.x + SDL2,窗口 1280×800。界面文案用英文(默认 Montserrat,无 CJK)。本文按实现顺序讲:先建立两个耦合转动体,再把磁倾角误差从卡面倾斜里推出来,最后用同一套投影把刻度、数字和目标画到卡上。画面上的迟滞、涡流、摆动和读数偏差都来自方程,没有补间动画。

摸鱼专家 85

GNSS/RTK定位失效时的替代方案:视觉惯性里程计(VIO)

GNSS/RTK定位失效时的替代方案:视觉惯性里程计(VIO)​ ,人工智能,计算机视觉,大模型,AI,本文详细介绍了视觉惯性里程计(VIO)作为GNSS/RTK定位失效时的替代方案。阐述了VIO的定义、优势及与其他定位技术的区别,讲解了视觉传感器和IMU的工作原理及数据融合原理,分析了时间同步、标定等关键技术,介绍了VINS-Mono等常用框架、简单代码示例、应用场景,还探讨了VIO面临的挑战与未来发展趋势,展现了其在多个领域的重要性与应用潜力。

不踩坑,不知道坑有多深;不总结,踩过的坑白踩。 16万+

2012年"浪潮杯"山东省第三届ACM大学生程序设计竞赛 The Best Seat in ACM Contest 看清题目后,我是真哭了。。。。。

 The Best Seat in ACM Contest Time Limit: 1000MS Memory limit: 65536K 题目描述 Cainiao is a university student who loves ACM contest very much. It is a festival for him once when he att

Little_Limbo的专栏 925

YOLO算法:关于目标检测算法的基本介绍(小白入门必读)

目标检测算法是一种计算机视觉算法,用于在图像或视频中识别和定位特定的目标物体。本节课就给大家重点介绍下基于深度学习的目标检测算法!

小哥谈 2523

Mine Number(搜索,暴力) ACM省赛第三届 G

Mine Number Time Limit: 1000ms Memory limit: 65536K有疑问?点这里^_^ 题目描述 Every one once played the game called Mine Sweeping, here I change the rule. You are given an n*m map, every elemen...

weixin_30865427的博客 139

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

sdut2410 Mine Number

Mine Number Time Limit: 1000MS Memory limit: 65536K 题目描述 Every one once played the game called Mine Sweeping, here I change the rule. You are given an n*m map, every element is a '*' repres

Dosth_Magic 696

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

SDUT:1143 Mine Number(二进制枚举)

题意:给一幅图说明周围的地雷数,要你输出地雷图,确保答案唯一。 思路:枚举第一行的地雷,然后往下递推判断得到的地雷图是否符合原图要求。 #include #include #include #include #include #include #include using namespace std; int n,m; char num_mat

Fighting 608

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

[2012山东省第三届ACM大学生程序设计竞赛]——The Best Seat in ACM Contest

2012山东省第三届ACM大学生程序设计竞赛 The Best Seat in ACM Contest 山东省赛 ACM sdut2409

继续激情,继续奋斗。 1763

2012年"浪潮杯"山东省第三届ACM大学生程序设计竞赛——n a^o7 !

题目链接:http://acm.sdut.edu.cn/sdutoj/problem.php?action=showproblem&problemid=2413 n a^o7 ! 简单模拟即可!!! #include #include #include #include #include using namespace std; int main() { int T,t=

piaocoder 762

2012年"浪潮杯"山东省第三届ACM大学生程序设计竞赛——Pixel density

题目链接:http://acm.sdut.edu.cn/sdutoj/problem.php?action=showproblem&problemid=2411 Pixel density 细节决定成败,但尼玛,数据也太坑了。。。不多说,代码的备注已经很详细了。。。 #include #include #include #include #include #include #de

piaocoder 535

2013山东省第三届ACM省赛 Mine Number

Mine Number Time Limit: 1000MS Memory limit: 65536K 题目描述 Every one once played the game called Mine Sweeping, here I change the rule. You are given an n*m map, every element is a '*' repres

A place to record sth. 582

2012年"浪潮杯"山东省第三届ACM大学生程序设计竞赛:n a^o7 !

n a^o7 ! Time Limit: 1000MS Memory limit: 65536K 题目描述 All brave and intelligent fighters, next you will step into a distinctive battleground which is full of sweet and happiness. If you w

liyingjie01的专栏 738

hihoCoder 1109 最小生成树三·堆优化的Prim算法

#include #include #include #include #include using namespace std; const int N = 100005; const int M = 1000005; struct Edge{ int u,v,w; }edge[M]; struct node{ int x,w; bool operator

piaocoder 2031

LightOJ 1356 Prime Independence(素数筛选法+最大独立集)(Hopcroft-Carp算法)

Prime Independence 解题思路: 题目大意: 定义素数独立集为一个整数集(不一定全是素数),该整数集合中的任意两个a和b,如果存在a=b*prime的情况(prime为素数),则视为 该情况为"冲突"。独立集即不存在冲突的集合。 算法思想: 首先看到独立集就应该想到二分图,既然是二分图,每个数为一个结点,哪些是U哪些是V呢?自然而然地每个数num进行素因数分 解,

piaocoder 1704

POJ 3169 Layout(差分约束)

题目链接: http://poj.org/problem?id=3169 解题思路: AC代码: #include #include #include #include #include #define INF 0xfffffff using namespace std; const int V=1010; const int E=20010; int n,ml,md; in

piaocoder 1107

POJ 3255 Roadblocks(次短路)

题目链接: http://poj.org/problem?id=3255 解题思路: Dijkstra算法的思路是依次确定尚未确定的顶点中距离最小的顶点。按照这个思路对算法进行少许修改,就可以简单得求出次短路了。 到某个顶点v的次短路要么是到其他某个顶点u的最短路再加上u->v的边,要么是到u的次短路再加上u->v的边,因此所需要求的就是到所有顶点的最短路和次短路。因此,对于每个顶点,我们

piaocoder 1053

hihoCoder 1121 二分图一•二分图判定

#include #include #include #include #include using namespace std; int n,m; vector v[10005]; int vis[10005]; bool bfs(){ int flag = 0; memset(vis,-1,sizeof(vis)); queue q; for(in

piaocoder 993
上一篇: 2010年山东省第一届ACM大学生程序设计竞赛——Fairy tale
下一篇: 2012年"浪潮杯"山东省第三届ACM大学生程序设计竞赛——Pixel density
yphacker
博客等级 码龄12年 199粉丝 540原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值