Submission
Status:
[PP-SSSSSSS]
Subtask/Task Score:
{0/100}
Score: 0
User: Bermmmm
Problemset: Path Finding
Language: cpp
Time: 0.002 second
Submitted On: 2025-10-15 13:11:48
#include <bits/stdc++.h>
using namespace std;
int main() {
int N,n;
cin >> N >> n;
int x[n],y[n];
for (int i = 0;i<n;i++) {
cin >> y[i] >> x[i];
}
for (int i = 0;i<n;i++) {
if (x[i] >= N || x[i] < 0 || y[i] >= N || y[i] < 0) {
cout << "Out of range";
return 0;
}
}
char map[N][N];
for (int i = 0;i<N;i++) {
for (int j = 0;j<N;j++) {
map[i][j] = '_';
}
}
for (int i = 0;i<n;i++) {
map[y[i]][x[i]] = 'A' + i;
}
for (int i = 0;i<n-1;i++) {
int y1 = y[i] , x1 = x[i];
int y2 = y[i+1] , x2 = x[i+1];
if (x1 > x2) {
for (int j = x1-1 ; j>x2 ; j--) {
if (map[y1][j] == '_' || map[y1][j] == '^' || map[y1][j] == 'v' || map[y1][j] == '>' || (map[y1][j] <= 'Z' && map[y1][j] >= 'A')) {
map[y1][j] = '<';
}
}
}
else if (x1 < x2) {
for (int j = x1+1 ; j < x2 ; j++) {
if (map[y1][j] == '_' || map[y1][j] == '^' || map[y1][j] == 'v' || map[y1][j] == '<' || (map[y1][j] <= 'Z' && map[y1][j] >= 'A')) {
map[y1][j] = '>';
}
}
}
if (y1 > y2) {
for (int j = y1 ; j > y2 ; j--) {
if (map[j][x2] == '_' || map[j][x2] == '<' || map[j][x2] == '>'|| map[j][x2] == 'v' || (map[j][x2] <= 'Z' && map[j][x2] >= 'A')) {
map[j][x2] = '^';
}
}
}
else if (y1 < y2) {
for (int j = y1 ; j < y2 ; j++) {
if (map[j][x2] == '_' || map[j][x2] == '<' || map[j][x2] == '>' || map[j][x2] == '^' || (map[j][x2] <= 'Z' && map[j][x2] >= 'A')) {
map[j][x2] = 'v';
}
}
}
}
for (int i = 0;i<N;i++) {
for (int j = 0;j<N;j++) {
cout << map[i][j];
}
cout << '\n';
}
return 0;
}