1 条题解
-
0
#include <bits/stdc++.h> using namespace std; int w , h , b[1005][85] , ans , sum , next[4][2] = {{1 , 0} , {0 , 1} , {-1 , 0} , {0 , -1}};//也就写了亿遍 char f[1005][85]; void dfs(int x , int y)//基础深搜 { for (int i = 0 ; i < 4 ; i++) { int tx = x + next[i][0] , ty = y + next[i][1]; if (tx >= 1 && tx <= h && ty >= 1 && ty <= w && f[tx][ty] == '*' && b[tx][ty] == 0) { b[tx][ty] = 1; sum++; dfs(tx , ty); } } return; } int main() { cin >> w >> h; for (int i = 1 ; i <= h ; i++) { for (int j = 1 ; j <= w ; j++) { cin >> f[i][j]; } } for (int i = 1 ; i <= h ; i++) { for (int j = 1 ; j <= w ; j++) { if (b[i][j] == 0 && f[i][j] == '*') { sum = 1;//注意初始化 b[i][j] = 1; dfs(i , j); ans = max(ans , sum); } } } cout << ans; return 0; }//已AC
- 1
信息
- ID
- 1109
- 时间
- 1000ms
- 内存
- 128MiB
- 难度
- 5
- 标签
- 递交数
- 49
- 已通过
- 18
- 上传者