当前位置: 首页 > news >正文

网站对联广告html代码成都网站制作设计公司

网站对联广告html代码,成都网站制作设计公司,营销型企业网站系统模板下载,安徽省质量提升工程建设网站很经典的bfs,就是从猫咪和MM的坐标开始bfs搜索 不过这题有些小细节需要注意 1.认真审题,注意,猫一旦闻到小鱼干的味道,开始动,此时MM就不动了,一开始没仔细审题,很不好的习惯 2.注意移动的条件,vis,不是墙,距离是MM的移动距离范围内 3.这个猫咪的r2是闻味道的r2,不是移动距…

很经典的bfs,就是从猫咪和MM的坐标开始bfs搜索

不过这题有些小细节需要注意

1.认真审题,注意,猫一旦闻到小鱼干的味道,开始动,此时MM就不动了,一开始没仔细审题,很不好的习惯

2.注意移动的条件,vis,不是墙,距离是MM的移动距离范围内

3.这个猫咪的r2是闻味道的r2,不是移动距离的r2,还是审题的问题

4.猫闻到味道,开始动,此时是一直bfs,直到到达MM的坐标,因此需要对MM停下的位置做个标记

这道题很经典,实现起来也需要注意些细节,非常好的一道题,很有练习意义

// Problem: 小喵觅食
// Contest: NowCoder
// URL: https://ac.nowcoder.com/acm/contest/46597/C
// Memory Limit: 524288 MB
// Time Limit: 2000 ms
// Date: 2024-03-14 20:47:16
// 
// Powered by CP Editor (https://cpeditor.org)#include<bits/stdc++.h>
#define endl '\n'
#define int int64_t
using namespace std;
int dx[] = { -1,0,1,0 };
int dy[] = { 0,1,0,-1 };
int r1, r2, xc, yc, xm, ym, n, m;
int dis(int xb, int yb, int xed, int yed) {return abs(xb - xed) + abs(yb - yed);
}
char ches[1003][1003];
int vis[1003][1003];
int vis_c[1003][1003];
int dm[1003][1003];
int dc[1003][1003];
bool smell = false;
int ans = INT_MAX;
void bfs_m(int x, int y) {queue<pair<int, int>>q;q.push({ x,y });vis[x][y] = 1;dm[x][y] = 0;if (dis(x, y, xc, yc) <= r2) {smell = true;vis[x][y] = 1e9;return;}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] != '*' && dis(x, y, nx, ny) <= r1) {q.push({ nx,ny });vis[nx][ny] = 1;dm[nx][ny] = dm[u][v] + 1;if (dis(nx, ny, xc, yc) <= r2) {smell = true;vis[x][y] = 1e9;return;}}}}
}
void bfs_c(int x, int y) {queue<pair<int, int>>q;q.push({ x,y });vis_c[x][y] = 1;dc[x][y] = 0;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_c[nx][ny] && ches[nx][ny] != '*') {q.push({ nx,ny });vis_c[nx][ny] = 1;dc[nx][ny] = dc[u][v] + 1;if (vis[nx][ny] == 1e9) {ans = min(ans, dc[nx][ny] + dm[nx][ny]);}}}}
}
void solve() {cin >> n >> m;cin >> r1 >> r2;for (int i = 1; i <= n; ++i) {for (int j = 1; j <= m; ++j) {cin >> ches[i][j];if (ches[i][j] == 'P')xm = i, ym = j;if (ches[i][j] == 'M')xc = i, yc = j;}}bfs_m(xm, ym);if (!smell) cout << -1 << endl;else {bfs_c(xc, yc);if (ans != INT_MAX)cout << ans << endl;elsecout << -1 << endl;}
}
signed main() {ios::sync_with_stdio(false); cin.tie(0); cout.tie(0);int t = 1;//cin >> t;while (t--) {solve();}return 0;
}

http://www.yayakq.cn/news/163420/

相关文章:

  • 标准网站建设服务器网站建设公司网站模版
  • dede网站根目录公司法人查询
  • 广州手机网站设计外贸没有公司 如何做企业网站
  • 离退休工作网站建设方案西安网站建设孙正学
  • 朔州网站建设优化企业模板图片
  • 网站 猜你喜欢 怎么做全国最好的网站建设案例
  • 做门户网站的好处交互设计师网站
  • p2p网贷网站建设哪家好各位给推荐个网站
  • 辽宁营商建设局网站wordpress百科汉化
  • 淘宝网站建设成本住房和城乡建设统计网站
  • 合肥建设网站的公司360建筑网网址
  • 代写1000字多少钱自己的网站怎么做seo
  • 沧州网站建设哪家专业电子商务网站建设报告怎么写
  • 珠海网站开发定制网站开发算法
  • 手机网站建设好吗网站页面的宽度
  • 注册网站后如何注销账号无锡网站制作公司报价
  • 曲靖网站建设注册网站需要多少钱?
  • 网站建设网页与数据库连接腾讯邮箱登录入口
  • 网站开发的人怎么样网站制作 符合百度
  • 个人做外贸网站违法吗免费咨询健康
  • 做类似美团的网站自己做的网站如何发布
  • 秦皇岛北戴河太原seo推广外包
  • 企业门户网站系统有了域名怎么建网站
  • 个人网站要不要备案下载国际新闻app软件
  • 网站建设黄页免费观看seo是什么职位
  • wordpress网站微信登录wordpress后台英文转中文
  • 江门网站设计模板怎样设计一个移动网站
  • 德阳网站建设推广求个没封的w站2021软件
  • 手机站电影开源企业网站源码
  • 南昌营销网站建设功能点计算方法 网站开发