Submission
Status:
[PPPPPPPPPP]
Subtask/Task Score:
{100/100}
Score: 100
User: Prap
Problemset: Path Finding
Language: cpp
Time: 0.002 second
Submitted On: 2026-05-04 10:34:12
#include <iostream>
#include <string>
#include <vector>
#include <cmath>
#include <algorithm>
using namespace std;
int main() {
int N;
cin>>N;
int nPoint;
cin>>nPoint;
int coord[nPoint][2];
bool outrange = false;
for (int i = 0; i<nPoint; i++) {
cin>>coord[i][0]>>coord[i][1];
if (coord[i][0] < 0 || coord[i][1] < 0 || coord[i][0] > N || coord[i][1] > N) {
outrange = true;
}
}
if (outrange) {
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<nPoint-1; i++) {
int where = coord[i][1] - coord[i+1][1];
int stch = 0;
map[coord[i][0]][coord[i][1]] = 'A' + i;
if (coord[i][1] - coord[i+1][1] > 0) {
for (int j = 1; j<=coord[i][1] - coord[i+1][1]; j++) {
map[coord[i][0]][coord[i][1]-j] = '<';
}
}
else if (coord[i][1] - coord[i+1][1] < 0) {
for (int j = 1; j<=coord[i+1][1] - coord[i][1]; j++) {
map[coord[i][0]][coord[i][1]+j] = '>';
}
}
else {
stch = 1;
}
if (coord[i][0] - coord[i+1][0] > 0) {
for (int j = stch; j<=coord[i][0] - coord[i+1][0]; j++) {
map[coord[i][0]-j][coord[i][1]-where] = '^';
}
}
else if (coord[i][0] - coord[i+1][0] < 0) {
for (int j = stch; j<=coord[i+1][0] - coord[i][0]; j++) {
map[coord[i][0]+j][coord[i][1]-where] = 'v';
}
}
else { }
}
int lasta = nPoint-1;
map[coord[lasta][0]][coord[lasta][1]] = 'A' + lasta;
for (int i = 0; i<N; i++) {
for (int j = 0; j<N; j++) {
cout<<map[i][j];
}
cout<<"\n";
}
return 0;
}