初级
Counting Stars
未完成
初级参考
完整示例代码供参考,建议自己理解后重新输入
def solve(n, data):
n = int(n)
grid = str(data).strip().split(',')
rows = len(grid)
cols = max(len(r) for r in grid) if rows > 0 else 0
visited = [[False]*cols for _ in range(rows)]
def dfs(r, c):
if r < 0 or r >= rows or c < 0 or c >= cols: return
if visited[r][c] or c >= len(grid[r]) or grid[r][c] == '.': return
visited[r][c] = True
for dr, dc in [(-1,0),(1,0),(0,-1),(0,1),(-1,-1),(-1,1),(1,-1),(1,1)]:
dfs(r+dr, c+dc)
count = 0
for r in range(rows):
for c in range(len(grid[r])):
if not visited[r][c] and grid[r][c] == '*':
dfs(r, c)
count += 1
print(count)
示例
输入
solve(3, '.*..,.*.*,..**')
期望输出
1
👑
升级 VIP
解锁全部题目,畅通无阻地学习
- ✓ 解锁全部训练包所有题目
- ✓ 查看完整参考代码和提示
- ✓ 浏览器内直接运行 Python 代码
- ✓ 自动批改 + 进度追踪
30天
¥18
1年
¥99
2年
¥158
3年
¥199