| Task: | Abandoned warehouse |
| Sender: | aalto26bm_014 |
| Submission time: | 2026-09-07 17:01:13 +0300 |
| Language: | C++ (C++20) |
| Status: | READY |
| Result: | WRONG ANSWER |
| test | verdict | time | |
|---|---|---|---|
| #1 | WRONG ANSWER | 0.00 s | details |
| #2 | WRONG ANSWER | 0.00 s | details |
| #3 | WRONG ANSWER | 0.00 s | details |
| #4 | WRONG ANSWER | 0.00 s | details |
| #5 | WRONG ANSWER | 0.00 s | details |
| #6 | WRONG ANSWER | 0.08 s | details |
| #7 | WRONG ANSWER | 0.16 s | details |
| #8 | WRONG ANSWER | 0.14 s | details |
| #9 | WRONG ANSWER | 0.30 s | details |
| #10 | WRONG ANSWER | 0.33 s | details |
| #11 | WRONG ANSWER | 0.01 s | details |
| #12 | WRONG ANSWER | 0.01 s | details |
| #13 | WRONG ANSWER | 0.22 s | details |
| #14 | WRONG ANSWER | 0.00 s | details |
| #15 | WRONG ANSWER | 0.00 s | details |
| #16 | WRONG ANSWER | 0.36 s | details |
Compiler report
input/code.cpp: In function 'std::vector<int> locateInMatrix(std::vector<std::vector<char> >&, char)':
input/code.cpp:9:19: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<std::vector<char> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
9 | for (int i=0;i<mat.size();i++){
| ~^~~~~~~~~~~
input/code.cpp:10:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
10 | for (int j=0;j<mat[i].size();j++){
| ~^~~~~~~~~~~~~~Code
#include <iostream>
#include <vector>
#include <queue>
#include <algorithm>
using namespace std;
vector<int> locateInMatrix(vector<vector<char>> & mat, char c){
for (int i=0;i<mat.size();i++){
for (int j=0;j<mat[i].size();j++){
if (mat[i][j]==c){
return {i, j};
}
}
}
return {-1, -1};
}
int main(){
int n, m;
cin >> n >> m;
vector<vector<char>> mat (n, vector<char>(m));
for (int i=0;i<n;i++){
for (int j=0;j<m;j++){
cin >> mat[i][j];
/*
if (mat[i][j]=='\n'){
j--;
}
*/
}
}
for (int i=0;i<n;i++){
for (int j=0;j<m;j++){
cout << mat[i][j];
}
cout << '\n';
}
vector<int> a=locateInMatrix(mat, 'A');
vector<int> b=locateInMatrix(mat, 'B');
queue<vector<int>> q;
vector<vector<char>> prev(n, vector<char>(m, 0));
prev[a[0]][a[1]]=1;
bool found = false;
q.push(a);
while (!q.empty()){
auto curr = q.front();
cout << "Now on " << curr[0] << ' ' << curr[1] << '\n';
q.pop();
int i=curr[0], j=curr[1];
if (mat[i][j]=='B') {
found=true;
break;
}
if (i>0 && mat[i-1][j]!='#' && !prev[i-1][j]){
q.push({i-1, j});
prev[i-1][j]='U';
}
if (j>0 && mat[i][j-1]!='#' && !prev[i][j-1]){
q.push({i, j-1});
prev[i][j-1]='L';
}
if (i<n-1 && mat[i+1][j]!='#' && !prev[i+1][j]){
q.push({i+1, j});
prev[i+1][j]='D';
}
if (j<m-1 && mat[i][j+1]!='#' && !prev[i][j+1]){
q.push({i, j+1});
prev[i][j+1]='R';
}
}
if (!found){
cout << "NO\n";
return 0;
}
/*
for (int i=0;i<n;i++){
for (int j=0;j<m;j++){
if (prev[i][j]) {
cout << prev[i][j];
} else {
cout << "#";
}
}
cout << '\n';
}
*/
vector<char> path(0);
while (b[0]!=a[0] || b[1]!=a[1]) {
path.push_back(prev[b[0]][b[1]]);
//cout << "Now on " << b[0] << ' ' << b[1] << '\n';
if (prev[b[0]][b[1]]=='U'){
b[0]++;
} else if (prev[b[0]][b[1]]=='D'){
b[0]--;
} else if (prev[b[0]][b[1]]=='L'){
b[1]++;
} else if (prev[b[0]][b[1]]=='R'){
b[1]--;
}
}
reverse(path.begin(), path.end());
cout << path.size() << '\n';
for (char c: path){
cout << c;
}
cout << '\n';
return 0;
}Test details
Test 1
Verdict: WRONG ANSWER
| input |
|---|
| 10 10 ##.A###### #.##.##.## #####..### .######### ... |
| correct output |
|---|
| NO |
| user output |
|---|
| ##.A###### #.##.##.## #####..### .######### .########. ... |
Test 2
Verdict: WRONG ANSWER
| input |
|---|
| 10 10 B#..##.#.. #....A##.. #.....#..# .#......#. ... |
| correct output |
|---|
| NO |
| user output |
|---|
| B#..##.#.. #....A##.. #.....#..# .#......#. .......... ... |
Test 3
Verdict: WRONG ANSWER
| input |
|---|
| 10 10 ...#..A.#. ....B...## ...#...... .......... ... |
| correct output |
|---|
| YES 3 LLD |
| user output |
|---|
| ...#..A.#. ....B...## ...#...... .......... ...#.#.... ... |
Test 4
Verdict: WRONG ANSWER
| input |
|---|
| 10 10 .#........ .......... .......... ........#. ... |
| correct output |
|---|
| YES 1 R |
| user output |
|---|
| .#........ .......... .......... ........#. .......... ... |
Test 5
Verdict: WRONG ANSWER
| input |
|---|
| 10 10 .......... .......... .......... .......... ... |
| correct output |
|---|
| YES 3 RDD |
| user output |
|---|
| .......... .......... .......... .......... .......... ... |
Test 6
Verdict: WRONG ANSWER
| input |
|---|
| 1000 1000 ##.###..######.#########.###.#... |
| correct output |
|---|
| NO |
| user output |
|---|
| ##.###..######.#########.###.#... |
Test 7
Verdict: WRONG ANSWER
| input |
|---|
| 1000 1000 ####.#.###....#.......##.##.#.... |
| correct output |
|---|
| YES 626 LLLDDRDDDDLDLDDLLLLLDDDDLLDLDL... |
| user output |
|---|
| ####.#.###....#.......##.##.#.... |
Test 8
Verdict: WRONG ANSWER
| input |
|---|
| 1000 1000 ....#.##......#....#......#...... |
| correct output |
|---|
| YES 364 LULULLULLLULLLLLUULLLLUUULLLLL... |
| user output |
|---|
| ....#.##......#....#......#...... |
Test 9
Verdict: WRONG ANSWER
| input |
|---|
| 1000 1000 .................#......#........ |
| correct output |
|---|
| YES 1003 LLLLLLLLLLLLLLLLLLLLLLLLLDLLLL... |
| user output |
|---|
| .................#......#........ |
Test 10
Verdict: WRONG ANSWER
| input |
|---|
| 1000 1000 ................................. |
| correct output |
|---|
| YES 947 LLLLLLLLLLLLLLLLLLLLLLLLLLLLLL... |
| user output |
|---|
| ................................. |
Test 11
Verdict: WRONG ANSWER
| input |
|---|
| 1000 3 A#B .#. .#. .#. ... |
| correct output |
|---|
| YES 2000 DDDDDDDDDDDDDDDDDDDDDDDDDDDDDD... |
| user output |
|---|
| A#B .#. .#. .#. .#. ... |
Test 12
Verdict: WRONG ANSWER
| input |
|---|
| 3 1000 A................................ |
| correct output |
|---|
| YES 2000 RRRRRRRRRRRRRRRRRRRRRRRRRRRRRR... |
| user output |
|---|
| A................................ |
Test 13
Verdict: WRONG ANSWER
| input |
|---|
| 999 999 A#...#...#...#...#...#...#...#... |
| correct output |
|---|
| YES 499998 DDDDDDDDDDDDDDDDDDDDDDDDDDDDDD... |
| user output |
|---|
| A#...#...#...#...#...#...#...#... |
Test 14
Verdict: WRONG ANSWER
| input |
|---|
| 1 3 A.B |
| correct output |
|---|
| YES 2 RR |
| user output |
|---|
| A.B Now on 0 0 Now on 0 1 Now on 0 2 2 ... |
Test 15
Verdict: WRONG ANSWER
| input |
|---|
| 2 2 ## AB |
| correct output |
|---|
| YES 1 R |
| user output |
|---|
| ## AB Now on 1 0 Now on 1 1 1 ... |
Test 16
Verdict: WRONG ANSWER
| input |
|---|
| 1000 1000 A................................ |
| correct output |
|---|
| YES 1998 RRRRRRRRRRRRRRRRRRRRRRRRRRRRRR... |
| user output |
|---|
| A................................ |
