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

网站友情链接怎么样做怎样制作网站

网站友情链接怎么样做,怎样制作网站,app导航网站建设多少钱,专业网站建设网站一、题目 1、题目描述 2、输入输出 2.1输入 2.2输出 3、原题链接 https://codeforces.com/problemset/problem/196/B 二、解题报告 1、思路分析 考虑如何判断一条路径可以无限走? 我们对朴素的网格dfs改进,改进为可以dfs网格外的区域 如果存在某个…

一、题目

1、题目描述

2、输入输出

2.1输入

2.2输出

3、原题链接

https://codeforces.com/problemset/problem/196/B


二、解题报告

1、思路分析

考虑如何判断一条路径可以无限走?

我们对朴素的网格dfs改进,改进为可以dfs网格外的区域

如果存在某个 位置 (i % n, j % m) 被访问两次,并且两次的(i, j)不同,则说明进入了一条路径的循环,合法。

2、复杂度

时间复杂度: O(NM)空间复杂度:O(NM)

3、代码详解

 ​
#include <bits/stdc++.h>
// #include <ranges>
// #define DEBUG
using i64 = long long;
using u32 = unsigned;
using u64 = unsigned long long;
constexpr int inf32 = 1E9 + 7;
constexpr i64 inf64 = 1E18 + 7;
constexpr double eps = 1e-9;struct DSU {std::vector<int> p;int n;DSU(int _n) : p(_n, -1), n(_n) {}void init () {p.assign(n, -1);}int find(int x) {return p[x] < 0 ? x : p[x] = find(p[x]);}void merge(int x, int y) {int px = find(x), py = find(y);if (px == py) return;if (p[px] > p[py]) std::swap(px, py);p[px] += p[py], p[py] = px;}int size(int x) {return -p[find(x)];}
};constexpr int dir[5] = { -1, 0, 1, 0, -1 };void solve() {int n, m;std::cin >> n >> m;std::vector<std::string> g(n);for (int i = 0; i < n; ++ i) std::cin >> g[i];if (n == 1 && m == 1) {std::cout << "Yes";return;}int stx, sty;for (int i = 0; i < n; ++ i)for (int j = 0; j < m; ++ j) if (g[i][j] == 'S') {stx = i, sty = j;break;}auto pos = [&m](int i, int j) {return i * m + j;};std::vector<std::pair<int, int>> st, vis(n * m, { inf32, inf32 });st.emplace_back(stx, sty);vis[pos(stx, sty)] = { stx, sty };while (st.size()) {auto [x, y] = st.back();st.pop_back();for (int k = 0; k < 4; ++ k) {auto [nx, ny] = std::pair(x + dir[k], y + dir[k + 1]);auto [nnx, nny] = std::pair(((nx % n) + n) % n, ((ny % m) + m) % m);// assert(nnx >= 0 && nnx < n);// assert(nny >= 0 && nny < m);if (g[nnx][nny] != '#') {if (vis[pos(nnx, nny)].first < inf32) {if(vis[pos(nnx, nny)] != std::pair(nx, ny)) {std::cout << "Yes";return;}}else {vis[pos(nnx, nny)] = { nx, ny };st.emplace_back(nx, ny);}}}}std::cout << "No";
}auto FIO = []{std::ios::sync_with_stdio(false);std::cin.tie(nullptr);std::cout.tie(nullptr);return 0;
} ();int main() {#ifdef DEBUGfreopen("in.txt", "r", stdin);freopen("out.txt", "w", stdout);#endif     int t = 1;// std::cin >> t;while (t --)solve();return 0;
}

http://www.mmbaike.com/news/83659.html

相关文章:

  • wordpress 编辑器 高亮 引用seo优化服务商
  • 政府门户网站制度建设情况广州专做优化的科技公司
  • 义乌网站建设方案详细百度移动
  • 如何为公司做网站seo综合查询怎么关闭
  • 网站开发pythonseo的含义
  • 广告发布属于什么服务seo推广薪资
  • 行业网站建设教程一键制作免费网站的app
  • 北京高端网站建设优势网站怎么提升关键词排名
  • 网站建设学校培训学校百度怎么注册自己的店铺
  • 邹平县建设局网站宁波网站推广营销
  • 食品网站建设的照片网站怎么推广效果好一点呢
  • 房山手机网站建设河南网站建设
  • 云主机建站免费技能培训网
  • 公司简介50字附子seo教程
  • 无锡网站推企业宣传推广怎么做
  • 网站开发前端课程图片搜索图片识别
  • 科技网站设计公司关键词优化搜索排名
  • 银行党风廉政建设考试网站郑州seo网络营销
  • 网站开发的标准流程小程序推广平台
  • 制作网站软件网页设计代做
  • 网站建设方案书组网方案河南品牌网络推广外包
  • 最好的微网站建设价格企业管理培训班哪个好
  • 车公庙网站建设百度建站官网
  • 丽江市企业网站搜狗推广效果好吗
  • 宁波网站建设模板下载乌鲁木齐seo
  • 网站开发维护专员岗位职责宣城网站seo
  • 东丽手机网站建设百度搜索排名购买
  • 优秀网站建设关键词筛选工具
  • 专业的网站建设专业平台seo l
  • 做户外照明有哪些网站职业培训机构需要什么资质