尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

B. Fox And Two Dots

B. Fox And Two Dots
📅 发布时间:2026/6/20 6:16:33

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

题意:给定一个n*m的的矩阵,矩阵只包含26个大写字母,矩阵中相邻并且相同的字符可以联通,问矩阵中是否存在数量>=4的环。

思路:视每个位置为一个node,进行编号,然后创建边。直接在图上进行dfs,如果dfs的过程中遇到了访问过的字符,说明有环。

总结:dfs的时候一开始忘记考虑所有的位置了。题目要求数量>4,会不会出现数量为3的环?不会,因为在矩阵中环至少是4个元素,3条共享边才行,3个元素不管怎么排列,都无法首位相接。

inline void solve() {int n, m;cin >> n >> m;std::vector<std::string> s(n);for (int i = 0; i < n; ++i) {cin >> s[i];}vector<vector<int>> al(n * m + 1);for (int i = 0; i < n; ++i) {for (int j = 0; j < m; ++j) {int now = i * m + j;if (j) {int left = now - 1;if (s[i][j] == s[i][j - 1]) {al[now].push_back(left);al[left].push_back(now);}}if (i) {int up = now - m;if (s[i][j] == s[i - 1][j]) {al[now].push_back(up);al[up].push_back(now);}}}}std::vector<bool> visit(n * m + 1, false);auto dfs = [&](auto&& self, int u, int p) ->bool{bool ok = false;visit[u] = true;for (const auto& v : al[u]) {if (v == p) {continue;}if (visit[v]) {return true;}ok = ok || self(self, v, u);}return ok;};for (int i = 0; i < n; ++i) {for (int j = 0; j < m; ++j) {if (visit[i * m + j]) {continue;}if (dfs(dfs, i * m + j, -1)) {cout << "Yes\n";return;}}}cout << "No" << '\n';
}

相关新闻

  • Zotero文件夹中的文献自动更新到LaTeX文件夹中的.bib文件
  • 2025 年洗车用品厂家最新推荐排行榜权威发布,聚焦跨区域供应与定制服务实力云南源头洗车用品 / 智能洗车用品 / 家用洗车用品公司推荐
  • 2025年武汉美食必吃榜服务权威推荐榜单:美食推荐/好吃的餐厅/好吃的美食源头服务商精选

最新新闻

  • 2026年市场知名的DTRO公司哪个好,DTRO膜片焊接设备/DTRO/DTRO水处理设备,DTRO源头厂家找哪家 - 品牌推荐师
  • JUC高并发编程—Fork / Join
  • 2026深圳全屋定制避坑指南:跑了6家店,这家轻高定让我直接签了合同 - 爱格研究所
  • 如何快速实现专业级音频转文字:免费开源智能字幕生成工具完整指南
  • 2026年6月最新真力时中国官方售后电话热线客服地址服务网点 - 亨得利官方服务中心
  • AI in Practice:人机协作缝合带的6个落地场景与实操手册

日新闻

  • 信任的进化:技术实现详解——如何用JavaScript构建博弈论模拟器
  • Terrakube自定义工作流:如何集成OPA、Infracost等工具扩展IaC能力
  • grunt-concurrent快速入门:5分钟学会并行运行Grunt任务

周新闻

  • 3步解锁iOS设备:applera1n激活锁绕过完全指南
  • 39 2026 人工智能证书终极盘点,普通人选 AI 证书可以从这些方向入手
  • Redis 暴露公网有多危险?从端口检查到补救步骤

月新闻

  • 【总结】入门篇:50句话让你记住架构核心概念
  • WeChatMsg技术方案解析:实现Mac微信数据自主管理的完整解决方案
  • WeChatMsg:革新性微信数据备份方案,打造你的专属数字记忆库

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号