探险家方馆长新发现:用代码揭秘神秘岛屿独立领地数量!
这个问题可以通过深度优先搜索(DFS)或广度优先搜索(BFS)来解决。我们需要遍历整个网格,每当遇到一个未被访问过的陆地(1),就进行DFS或BFS来标记所有相邻的陆地,这样就能统计出独立的领地数量。 解决方案代码 ```python def count_territories(grid): if not grid: return 0 rows = len(grid) cols = len(grid[0]) count = 0 for i in range(rows): for j in range(cols): if grid[i][j] == 1: count += 1 dfs(grid, i, j, rows, cols) return count def dfs(grid, i, j, rows, cols): if i < 0 or j < 0 or i >= rows or j >= cols or grid[i][j] != 1: return grid[i][j] = 0 # Mark as visited # Explore all four directions dfs(grid, i + 1, j, rows, cols) dfs(grid, i - 1, j, rows, cols) dfs(grid, i, j + 1, rows, cols) dfs(grid, i, j - 1, rows, cols) # Read input n, m = map(int, input().split()) grid = [] for _ in range(n): row = list(map(int, input().split())) grid.append(row) # Calculate and print the number of territories print(count_territories(grid)) ``` 代码解释 1. count_territories函数:主函数,负责遍历网格,每当发现未被访问的陆地(1)时,增加领地计数并调用DFS来标记所有相连的陆地。 2. dfs函数:递归函数,用于深度优先搜索。将当前陆地标记为已访问(0),然后递归检查上下左右的相邻区域。 3. 输入处理:读取网格的行数和列数,然后逐行读取网格数据。 4. 输出结果:调用`count_territories`函数计算领地数量并输出。 需要注意的逻辑点 - 确保在DFS过程中检查数组边界,避免越界访问。 - 标记已访问的陆地时,直接修改原数组,无需额外空间。 - 领地计数仅在遇到未被访问的陆地时增加,确保每个领地只计数一次。 ######[AI写代码神器 | 515点数解答 | 2025-03-29 10:17:46]
- 易语言读取文本文件并显示到超级列表框:代码示例与注意要点(DeepSeek | 571点数解答 | 2025-08-23 20:54:40)252
- 易语言:读取并显示特定文本到超级列表框,还能增加新数据的方法与要点(DeepSeek | 1317点数解答 | 2025-08-23 20:58:40)251
- mallshop商城网站:数据库设计与强大业务功能全揭秘(GPT | 257点数解答 | 2024-12-09 14:08:15)297
- C++助力探险家:计算神秘岛屿独立领地数量(百度文心 | 912点数解答 | 2025-03-16 19:22:31)314
- 方馆长新发现神秘岛屿!C++程序助力计算领地数量(DeepSeek | 567点数解答 | 2025-03-29 10:15:29)199
- 探险家方馆长新发现:用代码揭秘神秘岛屿独立领地数量!(DeepSeek | 515点数解答 | 2025-03-29 10:17:46)167
- 用Python处理商品销售数据:替换类别、合并类目并输出前5行(百度文心 | 486点数解答 | 2024-08-23 09:14:21)323
- Python 破解:计算序列中满足特定取余条件元素的数量(字节豆包 | 174点数解答 | 2025-05-13 21:29:55)202
- 一文搞定!无名杀“再生安瓿”技能代码全解析及注意事项(字节豆包 | 464点数解答 | 2025-06-15 20:06:30)182
- C# 实现商品类:数量限制 100 及开发注意要点(字节豆包 | 737点数解答 | 2025-09-03 14:44:56)113
- 易语言多线程实战:获取进程信息、读写内存与多线程协同操作(字节豆包 | 790点数解答 | 2025-11-28 03:08:24)56
- 易语言多线程:实现获取进程内存数据与C语言格式基址的高效代码示例(字节豆包 | 677点数解答 | 2025-11-28 03:12:31)61