QOJ.ac
QOJ
ID | 题目 | 提交者 | 结果 | 用时 | 内存 | 语言 | 文件大小 | 提交时间 | 测评时间 |
---|---|---|---|---|---|---|---|---|---|
#488506 | #1819. Cleaning Robot | EdwardH101 | WA | 0ms | 3584kb | C++17 | 1.3kb | 2024-07-24 08:49:51 | 2024-07-24 08:49:52 |
Judging History
answer
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int maxRobotSize(int n, int m, int k, vector<pair<int, int>>& obstructions) {
vector<vector<int>> room(n, vector<int>(m, 0));
for (auto& obstruction : obstructions) {
room[obstruction.first - 1][obstruction.second - 1] = 1;
}
vector<vector<int>> dp(n, vector<int>(m, 0));
int maxSize = 0;
for (int i = 0; i < n; ++i) {
for (int j = 0; j < m; ++j) {
if (room[i][j] == 1) {
dp[i][j] = 0;
} else {
if (i == 0 || j == 0) {
dp[i][j] = 1;
} else {
dp[i][j] = min({dp[i-1][j], dp[i][j-1], dp[i-1][j-1]}) + 1;
}
maxSize = max(maxSize, dp[i][j]);
}
}
}
return maxSize;
}
int main() {
ios::sync_with_stdio(false);
cin.tie(nullptr);
int n, m, k;
cin >> n >> m >> k;
vector<pair<int, int>> obstructions(k);
for (int i = 0; i < k; ++i) {
int x, y;
cin >> x >> y;
obstructions[i] = {x, y};
}
int result = maxRobotSize(n, m, k, obstructions);
cout << result << '\n';
return 0;
}
详细
Test #1:
score: 0
Wrong Answer
time: 0ms
memory: 3584kb
input:
10 7 1 8 3
output:
7
result:
wrong answer expected '2', found '7'