算法竞赛入门经典 每日一题(wyh的吃鸡)

网易笔试题-游戏积分(吃鸡游戏积分排行逻辑) 前段时间看到师兄做的网易游戏笔试题,感觉挺有意思的,就做了一下,做的时候发现自己以前学的都忘得差不多了。。因为以前做题基本都是用C语言来写,所以C语言还好,做的时候能回想起来,而C++感觉得重新学才行了。。哎,从今天开始做题吧,并重新开始学习C++和算法。 这题就是写个吃鸡游戏的积分排行逻辑,我是基本是用C语言写的,测试用例算出的结果都对(输出排序没写),但还有可能存在错误,等复习完C++和算法... 阅读详情

题目描述 

最近吃鸡游戏非常火,你们wyh学长也在玩这款游戏,这款游戏有一个非常重要的过程,就是要跑到安全区内,否则就会中毒持续消耗血量,我们这个问题简化如下 

假设地图为n*n的一个图,图中有且仅有一块X的联通快代表安全区域,有一个起点S代表缩圈的时候的起点,图中C代表的是车(保证车的数量小于等于100),标记为.的代表空地,可以任意通过,O代表障碍物不能通过。每次没有车的时候2s可以走一个格(只能走自己的上下左右4个方向),有车的话时间为1s走一个格 

现在告诉你最多能坚持的时间为t秒,问你在t秒内(含t秒)能否从s点到达安全区域,能的话输出YES,并且输出最短时间,不能的话输出NO 

输入描述:

输入第一行一个整数T(1<=T<=10)
接下来有T组测试数据,每组测试数据输入2个数n和k(1<=n<=100,1<=k<=10^9)
接下来n行,每行n个字符,代表对应的n*n的地图,每个字符都是上面的一种,并且保证只有一个起点,只有一块安全区域。

输出描述:

对于每组测试数据,先输出能否到达,能的话输出YES,然后换行输出最短时间,如果不能的话直接输出NO

示例1

输入

复制

3
2 3
.X
S.
2 3
.X
SC
2 4
.X
S.

输出

复制

NO
YES
3
YES
4

要注意:

X可能不只是一块 有可能是一片区域

所以要枚举X的区域

要用到最短路 bfs实现

const int MAX=10010;
int dis[MAX][MAX][2];
int vis[MAX][MAX][2];
char s[MAX][MAX];
int x[MAX];
int y[MAX];
int sx,sy;
int z;
int t;
int ans;
int n,k;
struct node {
    int x,y,z;
};
int check(int x,int y){
    if(x<1||x>n||y<1||y>n||s[x][y]=='O') return 1;
    return 0;
}
void bfs(int x,int y){
    queue<node> qu;
    qu.push({x,y,0});
    dis[x][y][0]=0;
    vis[x][y][0]=1;
    node p,q;
    while (!qu.empty()) {
        node q=qu.front();
        qu.pop();
        vis[q.x][q.y][q.z]=0;
        for(int i=0;i<4;i++){
            p.x=q.x+xd[i];
            p.y=q.y+yd[i];
            p.z=q.z;
            if(check(p.x,p.y)) continue;
            int c;
            if(s[p.x][p.y]=='C') p.z=1;
            if(q.z==1) c=1;
            else c=2;
            if(dis[p.x][p.y][p.z]>dis[q.x][q.y][q.z]+c){
                dis[p.x][p.y][p.z]=dis[q.x][q.y][q.z]+c;
                if(!vis[p.x][p.y][p.z]){
                    vis[p.x][p.y][p.z]=1;
                    qu.push(p);
                }
            }
        }
    }
}
int main(){
    cin>>t;
    while (t--) {
        
        cin>>n>>k;
        mms(dis,INF);
        mms(vis,0);
        z=0;
        for(int i=1;i<=n;i++)
            cin>>s[i];
        for(int i=1;i<=n;i++){
            for(int j=1;j<=n;j++){
                if(s[i][j]=='S'){
                    sx=i;
                    sy=j;
                }
                if(s[i][j]=='X'){
                    x[z]=i;
                    x[z++]=j;
                }
            }
        }
        ans=INF;
        bfs(sx,sy);
        for(int i=0;i<z;i++){
            ans=min(ans,dis[x[i]][y[i]][0]);
            ans=min(ans,dis[x[i]][y[i]][1]);
        }
        if(ans>k) cout<<"NO"<<endl;
        else {
            cout<<"YES"<<endl;
            cout<<ans;
        }
    }
}

PyTorch深度学习实战(24)——使用U-Net架构进行图像分割 图像分割 (Image segmentation) 是计算机视觉领域中的一个重要任务,旨在将图像划分为具有语义信息的不同区域或对象。与目标检测任务不同,图像分割要求像素级别的精确定位和分类,将每个像素标记为属于哪个类别或属于哪个区域。在本节中,我们将介绍图像分割的基本概念,并训练一个基于 U-Net 架构的图像分割模型。 阅读详情

相关推荐

CTF——流量分析题型整理总结

我见过的流量分析类型的题目总结: 一,ping 报文信息 (icmp协议) 二,上传/下载文件(蓝牙obex,http,难:文件的分段上传/下载) 三,sql注入攻击 四,访问特定的加密解密网站(md5,base64) 五,后台扫描+弱密码爆破+菜刀 六,usb流量分析 七,WiFi无线密码破解 八,根据一组流量包了解黑客的具体行为 例题: 一,ping 报文信息 (icm...

小锤队长的博客 5万+

山东农业大学校赛 H wyh的吃鸡 最短路 dij

链接:https://www.nowcoder.com/acm/contest/93/H 来源:牛客网 题目描述 最近吃鸡游戏非常火,你们wyh学长也在玩这款游戏,这款游戏有一个非常重要的过程,就是要跑到安全区内,否则就会中毒持续消耗血量,我们这个问题简化如下 假设地图为n*n的一个图,图中有且仅有一块X的联通快代表安全区域,有一个起点S代表缩圈的时候的起点,图中C代表的是车(保证车的数量...

lifelike 520

Rust 与 Golang 深度对决:从语法到应用场景的全方位解析

Rust 定义函数以fn关键字开头,参数需明确指定类型,返回值类型紧跟在箭头->之后。// 定义函数add,接收两个i32类型参数a和b,返回i32类型结果,功能为两数相加a + bRust 和 Golang 各有千秋,在不同领域展现独特优势。Rust 凭借强大的内存安全与高性能,在系统编程、网络编程以及对内存安全和性能要求高的场景中表现突出;Golang 则以简洁语法和出色并发性能,在云计算、分布式系统、Web 开发等领域占据一席之地。

muyouking 1769

刷题记录:牛客NC15445wyh的吃鸡

刷题记录:牛客NC15445wyh的吃鸡

yingjiayu12的博客 680

STM32实战:5分钟搞定MXL90614红外测温模块的I2C驱动(附完整代码)

本文提供了一份快速集成MLX90614红外测温模块的STM32实战指南。通过详细的软件I2C驱动代码,重点解析了SMBus通信协议、CRC校验及温度数据转换,帮助开发者避开常见陷阱,实现5分钟内完成模块驱动并读取准确温度值。

wasm7browser的博客 353

单细胞数据互转实战:从Scanpy的h5ad到Seurat对象的四种高效方法

本文针对单细胞数据分析中Scanpy的h5ad格式与Seurat对象互转的常见难题,详细对比了SeuratDisk、anndataR、schard和sceasy四种高效转换方法。文章从实战出发,剖析了每种方法的原理、操作流程、优缺点及避坑指南,并提供了清晰的选型策略,帮助用户根据数据特点选择最佳方案,实现跨平台数据的无缝衔接。

weixin_29099217的博客 446

题解 牛客 wyh的吃鸡

题解 牛客 wyh的吃鸡

weixin_55380247的博客 267

【雷达】基于matlab合成孔径雷达干涉测量(InSAR)时序分析【含Matlab源码 9037期】

合成孔径雷达干涉测量(InSAR)时序分析 完整代码,包运行;可提供运行操作视频!适合小白!

订阅付费专栏Matlab(奶茶价版),可赠送奶茶价版付费专栏指定代码1份; 159

2018年东北农业大学春季校赛 wyh的吃鸡

链接:https://www.nowcoder.com/acm/contest/93/H来源:牛客网 题目描述 最近吃鸡游戏非常火,你们wyh学长也在玩这款游戏,这款游戏有一个非常重要的过程,就是要跑到安全区内,否则就会中毒持续消耗血量,我们这个问题简化如下 假设地图为n*n的一个图,图中有且仅有一块X的联通快代表安全区域,有一个起点S代表缩圈的时候的起点,图中C代表的是...

weixin_30357231的博客 280

网络流量异常信息分析方法研究

本课题针对网络安全中网络流量异常的分析方法进行研究,提出一种基于机器学习和深度学习的异常检测算法。该算法采用卷积神经网络(CNN)和长短时记忆神经网络(LSTM)结合的方式,通过训练得到二分类模型,从而实现对网络流量异常的检测。随着互联网的飞速发展,网络攻击事件日益增多,网络安全问题成为了亟待解决的问题之一。常见的网络攻击手段包括 DDoS 攻击、SQL 注入、XSS 攻击等,这些攻击手段可能导致网络系统发生异常,给网络运维、数据安全带来极大的挑战。

肥晨开发的学习之路 1035

AutoJs调用DeepSeek大模型接口实战教程 AutoJs接入DeepSeek、 DeepSeek API调用 、 手机脚本接入大模型

通过这篇文章,我们用 AutoJs 成功接入了 DeepSeek Chat API。使用发送请求在 Header 里正确携带 API Key从里拿到最终返回结果这样一来,你就可以在 AutoJs 里实现一个智能助手脚本,甚至做更复杂的 AI 自动化工具。

代码简单说 Vue、JAVA、PHP、Node.js 熟练运用,接口、架构、性能全搞定。 467

【启发式搜索】2018年东北农业大学春季校赛-H wyh的吃鸡

wyh的吃鸡 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 262144K,其他语言524288K 64bit IO Format: %lld 题目描述 最近吃鸡游戏非常火,你们wyh学长也在玩这款游戏,这款游戏有一个非常重要的过程,就是要跑到安全区内,否则就会中毒持续消耗血量,我们这个问题简化如下 假设地图为n*n的一个图,图中有且仅有一块X的联通快代表安全区域...

落花水面 555

微信小程序爬虫终极指南:以电商小程序抓包与逆向分析为例(最新版)

在2026年的移动互联网生态中,微信小程序已经成为电商交易的核心载体之一。据统计,超过78%的头部电商平台都推出了微信小程序版本,其用户活跃度甚至超过原生App。对于数据从业者而言,小程序端往往藏着比Web端更丰富的接口数据——包括但不限于商品详情、价格波动、用户评价、库存变化、秒杀活动信息等。与传统的Web爬虫不同,微信小程序爬虫面临着三大核心挑战无URL地址栏:无法通过浏览器直接查看网络请求wx.request封装:所有请求均通过微信原生API发起,难以直接拦截然而,

2201_76125261的博客 536

牛客每日练习----wyh的数列,组合数问题,zzy的小号

我喜欢给自己压力,必须得定一个很高的目标,逼自己朝着这个目标前进,不管会不会实现,都是一个动力。 ----喻言 链接:https://ac.nowcoder.com/acm/problem/15448 来源:牛客网 题目描述 wyh学长特别喜欢斐波那契数列,F(0)=0,F(1)=1,F(n)=F(n-1)+F(n-2)(n>=2) 一天他突发奇想,想求F(a^b)%c 输入描述: 输入第一行一个整数T(1<...

0k-ok 700

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

2018年东北农业大学春季校赛 H why的吃鸡

链接:点击打开链接题目描述 最近吃鸡游戏非常火,你们wyh学长也在玩这款游戏,这款游戏有一个非常重要的过程,就是要跑到安全区内,否则就会中毒持续消耗血量,我们这个问题简化如下 假设地图为n*n的一个图,图中有且仅有一块X的联通快代表安全区域,有一个起点S代表缩圈的时候的起点,图中C代表的是车(保证车的数量小于等于100),标记为.的代表空地,可以任意通过,O代表障碍物不能通过。每次没有车...

包子不卖包子 926

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

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

2018年东北农业大学春季校赛 优先队列+bfs (莫名出bug题)

链接:https://www.nowcoder.com/acm/contest/93/H来源:牛客网时间限制:C/C++ 1秒,其他语言2秒空间限制:C/C++ 262144K,其他语言524288K 64bit IO Format: %lld题目描述 最近吃鸡游戏非常火,你们wyh学长也在玩这款游戏,这款游戏有一个非常重要的过程,就是要跑到安全区内,否则就会中毒持续消耗血量,我们这个问题简化如...

keepcoral的博客 297

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

newcode wyh的吃鸡(优势队列+BFS)题解

思路:要用优势队列,因为有的+2,有的+1,所以队列中的步长是不单调的,所以找到一个答案但不一定最小,所以用优势队列把小的放在队首。要记录状态,所以开了三维,题目和昨天做的那道小明差不多vis开的int型赋值bool型WA了半天代码:#include&lt;iostream&gt; #include&lt;algorithm&gt; #include&lt;cstring&gt; #include...

努力,奋斗 455

2018年东北农业大学春季校赛 H题 wyh的吃鸡(bfs)

https://www.nowcoder.com/acm/contest/93/H解题思路: 用优先队列优化一下,再BFS进行搜一遍#include<iostream> #include<cstdio> #include<cstring> #include<queue> using namespace std; typedef long long int ll; const ll INF=0x7f

HJ 489

算法题目-组队竞赛

组队竞赛 牛牛举办了一次编程比赛,参加比赛的有3*n个选手,每个选手都有一个水平值a_i.现在要将这些选手进行组队,一共组成n个队伍,即每个队伍3人.牛牛发现队伍的水平值等于该队伍队员中第二高水平值。 例如: 一个队伍三个队员的水平值分别是3,3,3.那么队伍的水平值是3 一个队伍三个队员的水平值分别是3,2,3.那么队伍的水平值是3 一个队伍三个队员的水平值分别是1,5,2.那么队伍的

可可 2487

❤️TikTok字节跳动编程题实战2022校招——吐血分享总结(第一弹)。

❤️大厂字节跳动编程题实战2022届校招前言+说明一、算法编程题(种树)二、算法编程题(小A的吃鸡之旅)三、算法编程题(有序最大K位数)四、算法编程题(测试计划的最大成功率) 前言+说明 ❤️旺仔兄弟们!这个是字节跳动2022届校招生笔试,总共四道编程题! 如果觉得博主分享的不错,希望能留下您的一键❤️三连❤️(点赞+评论+收藏) ,您的支持就是我的动力❤️,您的三连对我特别重要。 注明:下述题目只用于学习交流所用,禁止用于商业销售。同时在题解方面也希望大家能提出宝贵建议,共同进步❤️! 一、算法编程题(种

FullChair的博客 7933

01背包

链接:https://www.nowcoder.com/acm/contest/74/B 来源:牛客网 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32768K,其他语言65536K 64bit IO Format: %lld 题目描述 Taotao的电脑带不动绝地求生,所以taotao只能去玩pc版的荒野行动了, 和绝地求生一样,游戏人物本

Every Master was once a disaster or beginner. 326

带限制条件的广搜

最近吃鸡游戏非常火,你们wyh学长也在玩这款游戏,这款游戏有一个非常重要的过程,就是要跑到安全区内,否则就会中毒持续消耗血量,我们这个问题简化如下 假设地图为n*n的一个图,图中有且仅有一块X的联通快代表安全区域,有一个起点S代表缩圈的时候的起点,图中C代表的是车(保证车的数量小于等于100),标记为.的代表空地,可以任意通过,O代表障碍物不能通过。每次没有车的时候2s可以走一个格(只能走自...

weixin_34342207的博客 171

萌新吃鸡苟分时对人数分配的想法,求多解法,欢迎大佬们分享

事情是这样的,在某天吃鸡苟分又苟到了前五的时候,我趴在草丛里,突发奇想,有了如下的问题: 首先在和平精英里四人模式中,四人一组(当然可能有单人或者插进去的人机,这个不影响接下来的问题),每当剩下五队人的时候,游戏会提醒你已经胜利(即队伍进入了前五), 我突然好奇,在这个时间点,剩下队伍的人数分配是什么样的呢?有多少种情况?可否按照人数由多到少一一列举出来且不重复? 问:给出提醒时剩下的人数(5≤N≤20),列举出可能的情况 (假设个人战力相同,列举时尽可能按吃鸡的难易程度排列) 如提醒的时候,显示

☆迷茫Dog的秘密基地☆ 418

山东农业大学算法大赛举办圆满成功

为了提高同学们的计算机编程水平,巩固同学们计算机编程与算法的基本知识,进一步激发大家对计算机科学技术的热爱,俱乐部与2012年5月举办山东农业大学算法大赛,初赛采用在线OJ答题的形式面向全校同学进行选拔,经过了一周的初赛,有45名优秀的选手进入到了我们的决赛。     算法大赛决赛于2012年5月20日在山东农业大学本部文理大楼机房举行,经过比赛的激烈角逐,一批算法精英脱颖而出,在此对他们的获奖

山东农业大学优快云高校俱乐部 1944

【每日一题】组队竞赛(贪心算法)

组队竞赛 文章目录组队竞赛1、题目描述2、输入描述3、输出描述4、示例5、分析6、代码7、总结7.1 循环输入7.2 vecror7.3 贪心算法 1、题目描述 链接:牛客网   牛牛举办了一次编程比赛,参加比赛的有3*n个选手,每个选手都有一个水平值a_i.现在要将这些选手进行组队,一共组成n个队伍,即每个队伍3人.牛牛发现队伍的水平值等于该队伍队员中第二高水平值。 例如:    一个队伍三个队员的水平值分别是3,3,3.那么队伍的水平值是3   一个队伍三个队员的水平值分别是3,2,3.那么队伍的水平值

Sunnyside_ 1290

A 大吉大利,今晚吃鸡--枪械篇

题目描述 在绝地求生(吃鸡)游戏里,不同的枪支有不同的威力,更是可以搭配不同的配件,以提升枪支的性能。 每一把枪都有其威力及其可装备配件种类。每一个配件有其所属种类,可以为枪支提供威力的百分比加成。每一把枪只能装备一个同类配件。给你n把枪支和m个配件,枪的威力为p,可装备的配件数量为k,为k个不同类型的配件,同种类配件只可以装备一个。配件种类用数字q表示,配件威力加成用一个小数b表示。请你

小女不才 4542
上一篇: 算法竞赛入门经典 每日一题(郊区春游)
下一篇: 牛客挑战赛53 题解(A+B+C)
郭晋龙
博客等级 码龄6年 940粉丝 449原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

郭晋龙

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值