QOJ.ac
QOJ
ID | Problem | Submitter | Result | Time | Memory | Language | File size | Submit time | Judge time |
---|---|---|---|---|---|---|---|---|---|
#149455 | #4434. Lemurs | rgnerdplayer# | WA | 20ms | 3992kb | C++20 | 2.0kb | 2023-08-24 17:08:35 | 2023-08-24 17:08:38 |
Judging History
answer
#include <bits/stdc++.h>
using namespace std;
using i64 = long long;
int main() {
cin.tie(nullptr)->sync_with_stdio(false);
auto solve = [&]() {
int n, m, k;
cin >> n >> m >> k;
vector a(n, vector<int>(m));
for (int i = 0; i < n; i++) {
string s;
cin >> s;
for (int j = 0; j < m; j++) {
a[i][j] = s[j] == 'x';
}
}
auto bfs = [&](vector<pair<int, int>> q) {
vector dis(n, vector<int>(m, -1));
for (auto [x, y] : q) {
dis[x][y] = 0;
}
for (int b = 0; b < int(q.size()); b++) {
auto [x, y] = q[b];
for (auto [dx, dy] : {pair{1, 0}, {0, 1}, {-1, 0}, {0, -1}}) {
int nx = x + dx, ny = y + dy;
if (0 <= nx && nx < n && 0 <= ny && ny < m && dis[nx][ny] == -1) {
dis[nx][ny] = dis[x][y] + 1;
q.emplace_back(nx, ny);
}
}
}
return dis;
};
vector<pair<int, int>> q0;
for (int i = 0; i < n; i++) {
for (int j = 0; j < m; j++) {
if (a[i][j] == 0) {
q0.emplace_back(i, j);
}
}
}
auto dis0 = bfs(q0);
vector<pair<int, int>> q1;
for (int i = 0; i < n; i++) {
for (int j = 0; j < m; j++) {
if (dis0[i][j] > k) {
q1.emplace_back(i, j);
}
}
}
auto dis1 = bfs(q1);
for (int i = 0; i < n; i++) {
for (int j = 0; j < m; j++) {
if ((dis1[i][j] <= k) != (a[i][j] == 1)) {
cout << "NIE\n";
return;
}
}
}
cout << "TAK\n";
};
int t;
cin >> t;
while (t--) {
solve();
}
return 0;
}
Details
Tip: Click on the bar to expand more detailed information
Test #1:
score: 0
Wrong Answer
time: 20ms
memory: 3992kb
input:
4000 1 1 1 . 1 1 1 x 1 1 1000 . 1 1 1000 x 1 1000 4 ..........................................xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx....xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx...
output:
NIE TAK NIE TAK TAK NIE NIE TAK NIE TAK NIE NIE TAK TAK NIE TAK TAK NIE NIE NIE NIE NIE NIE NIE NIE NIE TAK NIE NIE TAK TAK TAK NIE NIE NIE TAK TAK NIE NIE TAK NIE NIE NIE TAK NIE NIE NIE TAK NIE NIE NIE NIE TAK NIE NIE NIE NIE NIE NIE NIE NIE NIE NIE NIE NIE NIE NIE NIE NIE NIE NIE NIE NIE TAK TAK ...
result:
wrong answer 1st lines differ - expected: 'TAK', found: 'NIE'