Submission
Status:
[-SSSSSSSSS]
Subtask/Task Score:
{0/100}
Score: 0
User: wora
Problemset: Path Finding
Language: cpp
Time: 0.002 second
Submitted On: 2026-10-12 21:45:44
#include <bits/stdc++.h>
using namespace std;
int main() {
ios::sync_with_stdio(false);
cin.tie(nullptr);
int N, nPoint;
cin >> N >> nPoint;
vector<pair<int, int>> points(nPoint);
bool valid = true;
for (int i = 0; i < nPoint; i++) {
cin >> points[i].first >> points[i].second;
int r = points[i].first;
int c = points[i].second;
if (r < 0 || r >= N || c < 0 || c >= N) {
valid = false;
}
}
if (!valid) {
cout << "Out of range\n";
return 0;
}
vector<string> grid(N, string(N, '_'));
for (int i = 0; i < nPoint; i++) {
int r = points[i].first;
int c = points[i].second;
if (i == 0) {
grid[r][c] = char('A' + i);
}
if (i == nPoint - 1) {
grid[r][c] = char('A' + i);
}
if (i + 1 < nPoint) {
int nr = points[i + 1].first;
int nc = points[i + 1].second;
while (c != nc) {
if (c < nc) {
c++;
grid[r][c] = '>';
} else {
c--;
grid[r][c] = '<';
}
}
while(c != nc){
int nextC = (c < nc) ? c + 1 : c - 1;
if(nextC != nc){
grid[r][nextC] = (c < nc) ? '>' : '<';
}
c = nextC;
}
grid[nr][nc] = char('A' + i + 1);
}
}
for (int i = 0; i < N; i++) {
cout << grid[i] << '\n';
}
return 0;
}