1 solutions
-
0
#include <iostream> #include <vector> #include <unordered_set> #include <string> using namespace std; vector<vector<int>> grid(5, vector<int>(5)); unordered_set<string> unique_number; void dfs(int x, int y, int steps, string number) { if (steps == 0) { while (number.length() < 6) { number = "0" + number; } unique_number.insert(number); return; } int dx[] = { 0, 0, -1, 1 }; int dy[] = { -1, 1, 0, 0 }; for (int i = 0; i < 4; ++i) { int nx = x + dx[i]; int ny = y + dy[i]; if (nx >= 0 && nx < 5 && ny >= 0 && ny < 5) { dfs(nx, ny, steps - 1, number + to_string(grid[nx][ny])); } } } int main() { for (int i = 0; i < 5; ++i) { for (int j = 0; j < 5; ++j) { cin >> grid[i][j]; } } for (int i = 0; i < 5; ++i) { for (int j = 0; j < 5; ++j) { dfs(i, j, 5, to_string(grid[i][j])); } } cout << unique_number.size() << endl; return 0; }
- 1
Information
- ID
- 311
- Time
- 1000ms
- Memory
- 16MiB
- Difficulty
- 10
- Tags
- # Submissions
- 8
- Accepted
- 3
- Uploaded By