| Task: | Chess board tour |
| Sender: | ariadna.roga |
| Submission time: | 2025-11-03 17:14:02 +0200 |
| Language: | C++ (C++17) |
| Status: | READY |
| Result: | TIME LIMIT EXCEEDED |
| test | verdict | time | |
|---|---|---|---|
| #1 | ACCEPTED | 0.00 s | details |
| #2 | ACCEPTED | 0.00 s | details |
| #3 | ACCEPTED | 0.00 s | details |
| #4 | ACCEPTED | 0.00 s | details |
| #5 | ACCEPTED | 0.00 s | details |
| #6 | ACCEPTED | 0.00 s | details |
| #7 | ACCEPTED | 0.00 s | details |
| #8 | ACCEPTED | 0.00 s | details |
| #9 | ACCEPTED | 0.00 s | details |
| #10 | ACCEPTED | 0.00 s | details |
| #11 | ACCEPTED | 0.07 s | details |
| #12 | ACCEPTED | 0.00 s | details |
| #13 | ACCEPTED | 0.05 s | details |
| #14 | ACCEPTED | 0.00 s | details |
| #15 | ACCEPTED | 0.00 s | details |
| #16 | ACCEPTED | 0.00 s | details |
| #17 | ACCEPTED | 0.20 s | details |
| #18 | ACCEPTED | 0.20 s | details |
| #19 | ACCEPTED | 0.00 s | details |
| #20 | ACCEPTED | 0.00 s | details |
| #21 | TIME LIMIT EXCEEDED | -- | details |
| #22 | ACCEPTED | 0.00 s | details |
| #23 | TIME LIMIT EXCEEDED | -- | details |
| #24 | ACCEPTED | 0.00 s | details |
| #25 | ACCEPTED | 0.00 s | details |
| #26 | ACCEPTED | 0.00 s | details |
| #27 | TIME LIMIT EXCEEDED | -- | details |
| #28 | TIME LIMIT EXCEEDED | -- | details |
| #29 | TIME LIMIT EXCEEDED | -- | details |
| #30 | TIME LIMIT EXCEEDED | -- | details |
| #31 | TIME LIMIT EXCEEDED | -- | details |
| #32 | TIME LIMIT EXCEEDED | -- | details |
| #33 | TIME LIMIT EXCEEDED | -- | details |
| #34 | TIME LIMIT EXCEEDED | -- | details |
| #35 | TIME LIMIT EXCEEDED | -- | details |
| #36 | TIME LIMIT EXCEEDED | -- | details |
| #37 | TIME LIMIT EXCEEDED | -- | details |
| #38 | TIME LIMIT EXCEEDED | -- | details |
| #39 | TIME LIMIT EXCEEDED | -- | details |
| #40 | TIME LIMIT EXCEEDED | -- | details |
| #41 | TIME LIMIT EXCEEDED | -- | details |
| #42 | TIME LIMIT EXCEEDED | -- | details |
| #43 | TIME LIMIT EXCEEDED | -- | details |
| #44 | TIME LIMIT EXCEEDED | -- | details |
| #45 | TIME LIMIT EXCEEDED | -- | details |
| #46 | TIME LIMIT EXCEEDED | -- | details |
| #47 | RUNTIME ERROR | 0.64 s | details |
| #48 | RUNTIME ERROR | 0.71 s | details |
| #49 | TIME LIMIT EXCEEDED | -- | details |
| #50 | RUNTIME ERROR | 0.73 s | details |
| #51 | RUNTIME ERROR | 0.50 s | details |
| #52 | TIME LIMIT EXCEEDED | -- | details |
| #53 | RUNTIME ERROR | 0.86 s | details |
| #54 | TIME LIMIT EXCEEDED | -- | details |
| #55 | RUNTIME ERROR | 0.78 s | details |
| #56 | TIME LIMIT EXCEEDED | -- | details |
Compiler report
input/code.cpp: In function 'void dfs(std::vector<std::vector<bool> >, std::vector<char>&, bool&, std::pair<int, int>, std::vector<char>&)':
input/code.cpp:19:50: warning: comparison of integer expressions of different signedness: 'std::vector<char>::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
19 | if (pos == make_pair(0,0) and sol.size() == rows * cols) {
| ~~~~~~~~~~~^~~~~~~~~~~~~~
input/code.cpp:26:184: warning: comparison of integer expressions of different signedness: 'std::vector<char>::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
26 | if (!solution and correct_position(rows, cols, {pos.first, pos.second+1}) and (!visited[pos.first][pos.second+1] or (pos.first == 0 and pos.second + 1 == 0 and sol.size() == rows*cols-1))) {
|...Code
#include <bits/stdc++.h>
using namespace std;
bool correct_position(int rows, int cols, pair<int, int> pos) {
return pos.first >= 0 and pos.first < rows and pos.second >= 0 and pos.second < cols;
}
void dfs(vector<vector<bool>> visited, vector<char> &sol, bool &solution, pair<int, int> pos, vector<char> &final_sol) {
/*cout << "CURRENTLY VISITING " << pos.first << " " << pos.second << endl;
cout << "The sol until now is: ";
for (int i = 0; i < sol.size(); ++i)
cout << sol[i] << " ";
cout << endl;*/
int rows = visited.size();
int cols = visited[0].size();
if (correct_position(rows, cols, pos)) {
if (pos == make_pair(0,0) and sol.size() == rows * cols) {
// Solution found
//cout << "SOLUTION FOUND" << endl;
solution = true;
final_sol = sol;
}
else {
if (!solution and correct_position(rows, cols, {pos.first, pos.second+1}) and (!visited[pos.first][pos.second+1] or (pos.first == 0 and pos.second + 1 == 0 and sol.size() == rows*cols-1))) {
sol.push_back('R');
visited[pos.first][pos.second + 1] = true;
dfs(visited, sol, solution, {pos.first, pos.second + 1}, final_sol);
sol.pop_back();
visited[pos.first][pos.second + 1] = false;
}
if (!solution and correct_position(rows, cols, {pos.first, pos.second-1}) and (!visited[pos.first][pos.second-1] or (pos.first == 0 and pos.second - 1 == 0 and sol.size() == rows*cols-1))) {
sol.push_back('L');
visited[pos.first][pos.second - 1] = true;
dfs(visited, sol, solution, {pos.first, pos.second - 1}, final_sol);
sol.pop_back();
visited[pos.first][pos.second - 1] = false;
}
if (!solution and correct_position(rows, cols, {pos.first+1, pos.second}) and (!visited[pos.first+1][pos.second] or (pos.first + 1 == 0 and pos.second == 0 and sol.size() == rows*cols-1))) {
sol.push_back('D');
visited[pos.first+1][pos.second] = true;
dfs(visited, sol, solution, {pos.first+1, pos.second}, final_sol);
sol.pop_back();
visited[pos.first+1][pos.second] = false;
}
if (!solution and correct_position(rows, cols, {pos.first-1, pos.second}) and (!visited[pos.first-1][pos.second] or (pos.first - 1 == 0 and pos.second == 0 and sol.size() == rows*cols-1))) {
sol.push_back('U');
visited[pos.first-1][pos.second] = true;
dfs(visited, sol, solution, {pos.first-1, pos.second}, final_sol);
sol.pop_back();
visited[pos.first-1][pos.second] = false;
}
}
}
}
void print_sol(vector<char> &sol) {
for (int i = 0; i < sol.size(); ++i)
cout << sol[i];
cout << endl;
}
int main() {
ios::sync_with_stdio(0);
cin.tie(0);
int n, m;
cin >> n >> m;
vector<vector<bool>> visited(n, vector<bool>(m, false));
visited[0][0] = true;
vector<char> sol(0);
vector<char> final_sol;
bool solution = false;
dfs(visited, sol, solution, {0,0}, final_sol);
if (solution)
print_sol(final_sol);
else
cout << -1 << endl;
}Test details
Test 1
Verdict: ACCEPTED
| input |
|---|
| 2 2 |
| correct output |
|---|
| DRUL |
| user output |
|---|
| RDLU |
Test 2
Verdict: ACCEPTED
| input |
|---|
| 2 2 |
| correct output |
|---|
| DRUL |
| user output |
|---|
| RDLU |
Test 3
Verdict: ACCEPTED
| input |
|---|
| 2 3 |
| correct output |
|---|
| RRDLLU |
| user output |
|---|
| RRDLLU |
Test 4
Verdict: ACCEPTED
| input |
|---|
| 2 2 |
| correct output |
|---|
| DRUL |
| user output |
|---|
| RDLU |
Test 5
Verdict: ACCEPTED
| input |
|---|
| 4 4 |
| correct output |
|---|
| DDDRUURDDRUUULLL |
| user output |
|---|
| RRRDLLDRRDLLLUUU |
Test 6
Verdict: ACCEPTED
| input |
|---|
| 3 3 |
| correct output |
|---|
| -1 |
| user output |
|---|
| -1 |
Test 7
Verdict: ACCEPTED
| input |
|---|
| 4 4 |
| correct output |
|---|
| DDDRUURDDRUUULLL |
| user output |
|---|
| RRRDLLDRRDLLLUUU |
Test 8
Verdict: ACCEPTED
| input |
|---|
| 3 5 |
| correct output |
|---|
| -1 |
| user output |
|---|
| -1 |
Test 9
Verdict: ACCEPTED
| input |
|---|
| 3 2 |
| correct output |
|---|
| DDRUUL |
| user output |
|---|
| RDDLUU |
Test 10
Verdict: ACCEPTED
| input |
|---|
| 4 2 |
| correct output |
|---|
| DDDRUUUL |
| user output |
|---|
| RDDDLUUU |
Test 11
Verdict: ACCEPTED
| input |
|---|
| 5 5 |
| correct output |
|---|
| -1 |
| user output |
|---|
| -1 |
Test 12
Verdict: ACCEPTED
| input |
|---|
| 2 2 |
| correct output |
|---|
| DRUL |
| user output |
|---|
| RDLU |
Test 13
Verdict: ACCEPTED
| input |
|---|
| 5 5 |
| correct output |
|---|
| -1 |
| user output |
|---|
| -1 |
Test 14
Verdict: ACCEPTED
| input |
|---|
| 2 2 |
| correct output |
|---|
| DRUL |
| user output |
|---|
| RDLU |
Test 15
Verdict: ACCEPTED
| input |
|---|
| 5 2 |
| correct output |
|---|
| DDDDRUUUUL |
| user output |
|---|
| RDDDDLUUUU |
Test 16
Verdict: ACCEPTED
| input |
|---|
| 2 3 |
| correct output |
|---|
| RRDLLU |
| user output |
|---|
| RRDLLU |
Test 17
Verdict: ACCEPTED
| input |
|---|
| 6 7 |
| correct output |
|---|
| RRRRRRDLLLLLDRRRRRDLLLLLDRRRRR... |
| user output |
|---|
| RRRRRRDLLLLLDRRRRRDLLLLLDRRRRR... |
Test 18
Verdict: ACCEPTED
| input |
|---|
| 5 10 |
| correct output |
|---|
| DDDDRUUURDDDRUUURDDDRUUURDDDRU... |
| user output |
|---|
| RRRRRRRRRDLLLLLLLLDRRRRRRRRDDL... |
Test 19
Verdict: ACCEPTED
| input |
|---|
| 5 3 |
| correct output |
|---|
| -1 |
| user output |
|---|
| -1 |
Test 20
Verdict: ACCEPTED
| input |
|---|
| 6 2 |
| correct output |
|---|
| DDDDDRUUUUUL |
| user output |
|---|
| RDDDDDLUUUUU |
Test 21
Verdict: TIME LIMIT EXCEEDED
| input |
|---|
| 10 10 |
| correct output |
|---|
| DDDDDDDDDRUUUUUUUURDDDDDDDDRUU... |
| user output |
|---|
| (empty) |
Test 22
Verdict: ACCEPTED
| input |
|---|
| 3 2 |
| correct output |
|---|
| DDRUUL |
| user output |
|---|
| RDDLUU |
Test 23
Verdict: TIME LIMIT EXCEEDED
| input |
|---|
| 10 10 |
| correct output |
|---|
| DDDDDDDDDRUUUUUUUURDDDDDDDDRUU... |
| user output |
|---|
| (empty) |
Test 24
Verdict: ACCEPTED
| input |
|---|
| 2 4 |
| correct output |
|---|
| DRRRULLL |
| user output |
|---|
| RRRDLLLU |
Test 25
Verdict: ACCEPTED
| input |
|---|
| 9 2 |
| correct output |
|---|
| DDDDDDDDRUUUUUUUUL |
| user output |
|---|
| RDDDDDDDDLUUUUUUUU |
Test 26
Verdict: ACCEPTED
| input |
|---|
| 2 5 |
| correct output |
|---|
| RRRRDLLLLU |
| user output |
|---|
| RRRRDLLLLU |
Test 27
Verdict: TIME LIMIT EXCEEDED
| input |
|---|
| 56 60 |
| correct output |
|---|
| DDDDDDDDDDDDDDDDDDDDDDDDDDDDDD... |
| user output |
|---|
| (empty) |
Test 28
Verdict: TIME LIMIT EXCEEDED
| input |
|---|
| 43 100 |
| correct output |
|---|
| DDDDDDDDDDDDDDDDDDDDDDDDDDDDDD... |
| user output |
|---|
| (empty) |
Test 29
Verdict: TIME LIMIT EXCEEDED
| input |
|---|
| 45 20 |
| correct output |
|---|
| DDDDDDDDDDDDDDDDDDDDDDDDDDDDDD... |
| user output |
|---|
| (empty) |
Test 30
Verdict: TIME LIMIT EXCEEDED
| input |
|---|
| 56 9 |
| correct output |
|---|
| RRRRRRRRDLLLLLLLDRRRRRRRDLLLLL... |
| user output |
|---|
| (empty) |
Test 31
Verdict: TIME LIMIT EXCEEDED
| input |
|---|
| 97 91 |
| correct output |
|---|
| -1 |
| user output |
|---|
| (empty) |
Test 32
Verdict: TIME LIMIT EXCEEDED
| input |
|---|
| 23 7 |
| correct output |
|---|
| -1 |
| user output |
|---|
| (empty) |
Test 33
Verdict: TIME LIMIT EXCEEDED
| input |
|---|
| 90 95 |
| correct output |
|---|
| RRRRRRRRRRRRRRRRRRRRRRRRRRRRRR... |
| user output |
|---|
| (empty) |
Test 34
Verdict: TIME LIMIT EXCEEDED
| input |
|---|
| 9 24 |
| correct output |
|---|
| DDDDDDDDRUUUUUUURDDDDDDDRUUUUU... |
| user output |
|---|
| (empty) |
Test 35
Verdict: TIME LIMIT EXCEEDED
| input |
|---|
| 88 3 |
| correct output |
|---|
| RRDLDRDLDRDLDRDLDRDLDRDLDRDLDR... |
| user output |
|---|
| (empty) |
Test 36
Verdict: TIME LIMIT EXCEEDED
| input |
|---|
| 3 38 |
| correct output |
|---|
| DDRURDRURDRURDRURDRURDRURDRURD... |
| user output |
|---|
| (empty) |
Test 37
Verdict: TIME LIMIT EXCEEDED
| input |
|---|
| 111 119 |
| correct output |
|---|
| -1 |
| user output |
|---|
| (empty) |
Test 38
Verdict: TIME LIMIT EXCEEDED
| input |
|---|
| 84 200 |
| correct output |
|---|
| DDDDDDDDDDDDDDDDDDDDDDDDDDDDDD... |
| user output |
|---|
| (empty) |
Test 39
Verdict: TIME LIMIT EXCEEDED
| input |
|---|
| 88 38 |
| correct output |
|---|
| DDDDDDDDDDDDDDDDDDDDDDDDDDDDDD... |
| user output |
|---|
| (empty) |
Test 40
Verdict: TIME LIMIT EXCEEDED
| input |
|---|
| 111 16 |
| correct output |
|---|
| DDDDDDDDDDDDDDDDDDDDDDDDDDDDDD... |
| user output |
|---|
| (empty) |
Test 41
Verdict: TIME LIMIT EXCEEDED
| input |
|---|
| 194 181 |
| correct output |
|---|
| RRRRRRRRRRRRRRRRRRRRRRRRRRRRRR... |
| user output |
|---|
| (empty) |
Test 42
Verdict: TIME LIMIT EXCEEDED
| input |
|---|
| 46 12 |
| correct output |
|---|
| DDDDDDDDDDDDDDDDDDDDDDDDDDDDDD... |
| user output |
|---|
| (empty) |
Test 43
Verdict: TIME LIMIT EXCEEDED
| input |
|---|
| 179 190 |
| correct output |
|---|
| DDDDDDDDDDDDDDDDDDDDDDDDDDDDDD... |
| user output |
|---|
| (empty) |
Test 44
Verdict: TIME LIMIT EXCEEDED
| input |
|---|
| 17 47 |
| correct output |
|---|
| -1 |
| user output |
|---|
| (empty) |
Test 45
Verdict: TIME LIMIT EXCEEDED
| input |
|---|
| 175 4 |
| correct output |
|---|
| DDDDDDDDDDDDDDDDDDDDDDDDDDDDDD... |
| user output |
|---|
| (empty) |
Test 46
Verdict: TIME LIMIT EXCEEDED
| input |
|---|
| 4 74 |
| correct output |
|---|
| DDDRUURDDRUURDDRUURDDRUURDDRUU... |
| user output |
|---|
| (empty) |
Test 47
Verdict: RUNTIME ERROR
| input |
|---|
| 550 594 |
| correct output |
|---|
| DDDDDDDDDDDDDDDDDDDDDDDDDDDDDD... |
| user output |
|---|
| (empty) |
Test 48
Verdict: RUNTIME ERROR
| input |
|---|
| 418 998 |
| correct output |
|---|
| DDDDDDDDDDDDDDDDDDDDDDDDDDDDDD... |
| user output |
|---|
| (empty) |
Test 49
Verdict: TIME LIMIT EXCEEDED
| input |
|---|
| 437 186 |
| correct output |
|---|
| DDDDDDDDDDDDDDDDDDDDDDDDDDDDDD... |
| user output |
|---|
| (empty) |
Test 50
Verdict: RUNTIME ERROR
| input |
|---|
| 552 72 |
| correct output |
|---|
| DDDDDDDDDDDDDDDDDDDDDDDDDDDDDD... |
| user output |
|---|
| (empty) |
Test 51
Verdict: RUNTIME ERROR
| input |
|---|
| 968 901 |
| correct output |
|---|
| RRRRRRRRRRRRRRRRRRRRRRRRRRRRRR... |
| user output |
|---|
| (empty) |
Test 52
Verdict: TIME LIMIT EXCEEDED
| input |
|---|
| 223 57 |
| correct output |
|---|
| -1 |
| user output |
|---|
| (empty) |
Test 53
Verdict: RUNTIME ERROR
| input |
|---|
| 893 948 |
| correct output |
|---|
| DDDDDDDDDDDDDDDDDDDDDDDDDDDDDD... |
| user output |
|---|
| (empty) |
Test 54
Verdict: TIME LIMIT EXCEEDED
| input |
|---|
| 78 229 |
| correct output |
|---|
| RRRRRRRRRRRRRRRRRRRRRRRRRRRRRR... |
| user output |
|---|
| (empty) |
Test 55
Verdict: RUNTIME ERROR
| input |
|---|
| 874 13 |
| correct output |
|---|
| RRRRRRRRRRRRDLLLLLLLLLLLDRRRRR... |
| user output |
|---|
| (empty) |
Test 56
Verdict: TIME LIMIT EXCEEDED
| input |
|---|
| 12 366 |
| correct output |
|---|
| DDDDDDDDDDDRUUUUUUUUUURDDDDDDD... |
| user output |
|---|
| (empty) |
