Archives
Trending
Support
Login
clear text
XML
Django
JavaScript
MATLAB
C
C++
C#
Python
SQL
Shell
Bash
Markdown
YAML
JSON
HTML
CSS
PHP
Java
Ruby
Go
Rust
Swift
Kotlin
Arduino
TypeScript
Perl
Autohotkey
Lua
SQF
R
Scala
Haskell
Groovy
Dart
Clojure
VB.NET
Objective-C
PowerShell
Bash
CoffeeScript
Verilog
#include
#include
#include
#include
using namespace std; int prev_step[1005][1005]; int main() { ios_base::sync_with_stdio(false); cout.tie(0); cin.tie(0); int n, m; cin >> n >> m; char mat[n][m]; bool visited[n][m]; int si, sj; int ei, ej; for(int i = 0; i < n; i++){ for(int j = 0; j < m; j++){ visited[i][j] = false; cin >> mat[i][j]; if(mat[i][j] == 'A'){ si = i; sj = j; } if(mat[i][j] == 'B') { ei = i; ej = j; } } } cout << endl; queue
q; q.push(si); q.push(sj); q.push(0); visited[si][sj] = true; int di[] = {1, -1, 0, 0}; int dj[] = {0, 0, 1, -1}; while(!q.empty()){ int ci = q.front(); q.pop(); int cj = q.front(); q.pop(); int dist = q.front(); q.pop(); if(mat[ci][cj] == 'B'){ break; } for(int i = 0; i < 4; i++){ if(ci + di[i] < n and ci + di[i] >= 0 and cj + dj[i] < m and cj + dj[i] >= 0 and mat[ci + di[i]][cj + dj[i]] != '#' and !visited[ci + di[i]][cj + dj[i]]){ q.push(ci + di[i]); q.push(cj + dj[i]); q.push(dist + 1); prev_step[ci + di[i]][cj + dj[i]] = i; visited[ci + di[i]][cj + dj[i]] = true; } } } if(visited[ei][ej]) { cout << "YES" << endl; pair
S = make_pair(si, sj); pair
E = make_pair(ei, ej); string result = ""; while(E != S) { int p_cekor = prev_step[E.first][E.second]; if(p_cekor == 0) { result += "D"; } else if(p_cekor == 1) { result += "U"; } else if(p_cekor == 2) { result += "R"; } else { result += "L"; } E = make_pair(E.first - di[p_cekor], E.second - dj[p_cekor]); } reverse(result.begin(), result.end()); cout <
Mark as private (unlisted)
for 30 minutes
for 6 hours
for 1 day
for 1 week
for 1 month
for 1 year
everlasting (like CCCP)