THPTTD_90 - Miền 0
Xem dạng PDF
Gửi bài giải
Điểm:
6,00 (OI)
Giới hạn thời gian:
1.0s
Giới hạn bộ nhớ:
256M
Input:
bai3.inp
Output:
bai3.out
Tác giả:
Dạng bài
Ngôn ngữ cho phép
C, C#, C++, Go, Java, JavaScript, Kotlin, Pascal, Perl, PHP, PyPy, Python, Ruby, Rust, Scratch, Swift
Trong trường hợp đề bài hiển thị không chính xác, bạn có thể tải đề bài tại đây: Đề bài
Bình luận
include <iostream>
include <vector>
include <fstream>
include <algorithm>
using namespace std;
int m, n; int a[105][105]; bool v[105][105]; int dx[] = {-1, 1, 0, 0}; int dy[] = {0, 0, -1, 1};
int dfs(int x, int y) { v[x][y] = true; int s = 1; for (int i = 0; i < 4; ++i) { int nx = x + dx[i]; int ny = y + dy[i]; if (nx >= 0 && nx < m && ny >= 0 && ny < n && a[nx][ny] == 0 && !v[nx][ny]) { s += dfs(nx, ny); } } return s; }
int main() { ifstream fi("bai3.inp"); ofstream fo("bai3.out"); if (!(fi >> m >> n)) return 0; for (int i = 0; i < m; ++i) { for (int j = 0; j < n; ++j) { fi >> a[i][j]; v[i][j] = false; } } int mx = 0; for (int i = 0; i < m; ++i) { for (int j = 0; j < n; ++j) { if (a[i][j] == 0 && !v[i][j]) { mx = max(mx, dfs(i, j)); } } } fo << mx; fi.close(); fo.close(); return 0; }