牛客小白月赛-D-游戏购买

2024-03-15 11:28

本文主要是介绍牛客小白月赛-D-游戏购买,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

仅记录做此题时出现的问题

1.审错题,一开始是想错了,想着连续到点购买,结果写成了正确的bfs,后面又把自己绕进去,以为是需要连续购买,没注意题目中说的一个,还是得注意审题啊

2.写的细节点错误太多

比如>x的x和下标x弄混,d和d_fat乱用

其实整体思路没问题,就是实现的时候把自己搞混,读题没读明白的问题

// Problem: 游戏购买!
// Contest: NowCoder
// URL: https://ac.nowcoder.com/acm/contest/45670/D
// Memory Limit: 1048576 MB
// Time Limit: 10000 ms
// Date: 2024-03-15 09:09:22
// 
// Powered by CP Editor (https://cpeditor.org)#include<bits/stdc++.h>
#define endl '\n'
#define int int64_t
using namespace std;
int n, m, xx, sx, sy, ex, ey;
int dx[] = { -1,0,1,0 };
int dy[] = { 0,1,0,-1 };
int d[2005][2005];
int d_fat[2005][2005];
int vis[2005][2005];
int vis_fat[2005][2005];
int ches[2005][2005];
int ans = INT_MAX;
void bfs(int x, int y) {queue<pair<int, int>>q;vis[x][y] = 1;d[x][y] = 0;q.push({ x,y });while (q.size()) {int u = q.front().first;int v = q.front().second; q.pop();for (int i = 0; i < 4; ++i) {int nx = u + dx[i];int ny = v + dy[i];if (nx < 1 || nx > n || ny < 1 || ny > m) continue;if (!vis[nx][ny] && ches[nx][ny] != -1) {vis[nx][ny] = 1;d[nx][ny] = d[u][v] + 1;q.push({ nx,ny });}}}
}
void bfs_fat(int x, int y) {queue<pair<int, int>>q;vis_fat[x][y] = 1;d_fat[x][y] = 0;q.push({ x,y });while (q.size()) {int u = q.front().first;int v = q.front().second; q.pop();for (int i = 0; i < 4; ++i) {int nx = u + dx[i];int ny = v + dy[i];if (nx < 1 || nx > n || ny < 1 || ny > m) continue;if (!vis_fat[nx][ny] && ches[nx][ny] != -1) {vis_fat[nx][ny] = 1;d_fat[nx][ny] = d_fat[u][v] + 1;q.push({ nx,ny });if (ches[nx][ny] > xx && vis[nx][ny]) {ans = min(ans, d_fat[nx][ny] + d[nx][ny]);}}}}
}
void solve() {cin >> n >> m >> xx;cin >> sx >> sy >> ex >> ey;for (int i = 1; i <= n; ++i) {for (int j = 1; j <= m; ++j) {cin >> ches[i][j];}}bfs(sx, sy);bfs_fat(ex, ey);// for (int i = 1; i <= n; ++i) {// for (int j = 1; j <= m; ++j) {// cout << d[i][j] << " ";// }// cout << endl;// }// cout << endl;// for (int i = 1; i <= n; ++i) {// for (int j = 1; j <= m; ++j) {// cout << d_fat[i][j] << " ";// }// cout << endl;// }// cout << endl;if (ans == INT_MAX)cout << -1 << endl;else cout << ans << endl;
}
signed main() {ios::sync_with_stdio(false); cin.tie(0); cout.tie(0);int t = 1;//cin >> t;while (t--) {solve();}return 0;
}

这篇关于牛客小白月赛-D-游戏购买的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/811820

相关文章

购买磨轮平衡机时应该注意什么问题和技巧

在购买磨轮平衡机时,您应该注意以下几个关键点: 平衡精度 平衡精度是衡量平衡机性能的核心指标,直接影响到不平衡量的检测与校准的准确性,从而决定磨轮的振动和噪声水平。高精度的平衡机能显著减少振动和噪声,提高磨削加工的精度。 转速范围 宽广的转速范围意味着平衡机能够处理更多种类的磨轮,适应不同的工作条件和规格要求。 振动监测能力 振动监测能力是评估平衡机性能的重要因素。通过传感器实时监

国产游戏崛起:技术革新与文化自信的双重推动

近年来,国产游戏行业发展迅猛,技术水平和作品质量均得到了显著提升。特别是以《黑神话:悟空》为代表的一系列优秀作品,成功打破了过去中国游戏市场以手游和网游为主的局限,向全球玩家展示了中国在单机游戏领域的实力与潜力。随着中国开发者在画面渲染、物理引擎、AI 技术和服务器架构等方面取得了显著进展,国产游戏正逐步赢得国际市场的认可。然而,面对全球游戏行业的激烈竞争,国产游戏技术依然面临诸多挑战,未来的

每日一题|牛客竞赛|四舍五入|字符串+贪心+模拟

每日一题|四舍五入 四舍五入 心有猛虎,细嗅蔷薇。你好朋友,这里是锅巴的C\C++学习笔记,常言道,不积跬步无以至千里,希望有朝一日我们积累的滴水可以击穿顽石。 四舍五入 题目: 牛牛发明了一种新的四舍五入应用于整数,对个位四舍五入,规则如下 12345->12350 12399->12400 输入描述: 输入一个整数n(0<=n<=109 ) 输出描述: 输出一个整数

火柴游戏java版

代码 /*** 火柴游戏* <p>* <li>有24根火柴</li>* <li>组成 A + B = C 等式</li>* <li>总共有多少种适合方式?</li>* <br>* <h>分析:</h>* <li>除去"+"、"="四根,最多可用火柴根数20根。</li>* <li>全部用两根组合成"1",最大数值为1111。使用枚举法,A和B范围在0~1111,C为A+B。判断</li>** @

国产游戏行业的崛起与挑战:技术创新引领未来

国产游戏行业的崛起与挑战:技术创新引领未来 近年来,国产游戏行业蓬勃发展,技术水平不断提升,许多优秀作品在国际市场上崭露头角。从画面渲染到物理引擎,从AI技术到服务器架构,国产游戏已实现质的飞跃。然而,面对全球游戏市场的激烈竞争,国产游戏技术仍然面临诸多挑战。本文将探讨这些挑战,并展望未来的机遇,深入分析IT技术的创新将如何推动行业发展。 国产游戏技术现状 国产游戏在画面渲染、物理引擎、AI

第四次北漂----挣个独立游戏的素材钱

第四次北漂,在智联招聘上,有个小公司主动和我联系。面试了下,决定入职了,osg/osgearth的。月薪两万一。 大跌眼镜的是,我入职后,第一天的工作内容就是接手他的工作,三天后他就离职了。 我之所以考虑入职,是因为 1,该公司有恒歌科技的freex平台源码,可以学学,对以前不懂的解解惑。 2,挣点素材钱,看看张亮002的视频,他用了6000多,在虚幻商城买的吸血鬼游戏相关的素材,可以玩两年。我

nyoj 1038 纸牌游戏

poj 的一道改编题,说是翻译题更恰当,因为只是小幅度改动。 一道模拟题,代码掌控能力比较好,思维逻辑清晰的话就能AC。 代码如下: #include<stdio.h>#include<string.h>#include<algorithm>using namespace std;struct node{char c[5];int rk;char da[5];int nu

牛客小白月赛100部分题解

比赛地址:牛客小白月赛100_ACM/NOI/CSP/CCPC/ICPC算法编程高难度练习赛_牛客竞赛OJ A.ACM中的A题 #include<bits/stdc++.h>using namespace std;#define ll long long#define ull = unsigned long longvoid solve() {ll a,b,c;cin>>a>>b>

如果出一个名叫白神话悟空的游戏

最近黑神话由于与原著不符引起了原著派的争议。 所以我在摸鱼的时候想到如果游科或者某个别的公司“痛改前非”不夹带私货完全复刻吴承恩百回版剧情制作一个“重走西游路”的游戏,会有一个什么样的销量?(设定为原著派已经多方渠道认证,此游戏的确没有夹带私货,绝大部分复刻了原著剧情) 游戏玩法我想了几类 超长线性有岔路蜈蚣形状地图,蜈蚣的腿部是探索区域和支线,重走西游路线,开篇就是开始取经前唐玄宗御弟cg

牛客小白月赛100(A,B,C,D,E,F三元环计数)

比赛链接 官方讲解 这场比较简单,ABC都很签到,D是个不太裸需要预处理的 B F S BFS BFS 搜索,E是调和级数暴力枚举,F是三元环计数。三元环考的比较少,没见过可能会偏难。 A ACM中的A题 思路: 就是枚举每个边变成原来的两倍,然后看看两短边之和是否大于第三边即可。 不能只给最短边乘 2 2 2,比如 1 4 8 这组数据,也不能只给第二短边乘 2 2 2,比