70265 - CSP-J第一轮同测模拟卷1-阅读程序2
统计题目(材料题)
01 #include <iostream>
02 using namespace std;
03
04 int n, m;
05 int a[105][105];
06 bool vis[105][105];
07 int dx[4] = {-1,1,0,0};
08 int dy[4] = {0,0,-1,1};
09
10 int dfs(int x, int y, int val) {
11 if (x<1 || x>n || y<1 || y>m || vis[x][y] || a[x][y] != val) return 0;
12 vis[x][y] = true;
13 int cnt = 1;
14 for (int i=0;i<4;i++) cnt += dfs(x+dx[i], y+dy[i], val);
15 return cnt;
16 }
17
18 int main() {
19 cin >> n >> m;
20 for (int i=1;i<=n;i++)
21 for (int j=1;j<=m;j++) cin >> a[i][j];
22 int ans = 0;
23 for (int i=1;i<=n;i++)
24 for (int j=1;j<=m;j++)
25 if (!vis[i][j]) ans = max(ans, dfs(i,j,a[i][j]));
26 cout << ans << endl;
27 return 0;
28 }
||

关注我们