Submission
Status:
[PPPPPPPP-S]
Subtask/Task Score:
{0/100}
Score: 0
User: colo39
Problemset: Path Finding
Language: cpp
Time: 0.004 second
Submitted On: 2026-10-02 19:56:13
#include <bits/stdc++.h>
using namespace std;
vector<pair<int,int>> vec;
int stx, sty;
char table[1000][1000];
int main () {
ios_base::sync_with_stdio(false);
cin.tie(0);
memset(table,'_',sizeof(table));
int n;
cin >> n;
int q;
cin >> q;
while (q--) {
int x,y;
cin >> x >> y;
if (x+1 < 1 || y+1 < 1 || x+1 > n || y+1 > n) {
cout << "Out of range";
return 0;
}
vec.push_back({x+1,y+1});
}
for (int i = 0;i < vec.size();i++) {
if (i == 0) {
stx = vec[i].first;
sty = vec[i].second;
table[stx][sty] = 'A';
} else {
int i1 = stx,j1 = sty,i2 = vec[i].first, j2 = vec[i].second;
if (i1 == i2 && j1 == j2) continue;
if (i1 != i2) {
char dc;
if (j2 == j1) {
if (i2 < i1) {
dc = '^';
for (int i = i1-1;i > i2;i--) {
table[i][j2] = dc;
}
} else if (i2 > i1) {
dc = 'v';
for (int i = i1+1;i < i2;i++) {
table[i][j2] = dc;
}
}
} else {
if (j2 < j1) {
dc = '<';
for (int j = j1-1;j >= j2;j--) {
table[i1][j] = dc;
}
} else if (j2 > j1) {
dc = '>';
for (int j = j1+1;j <= j2;j++) {
table[i1][j] = dc;
}
}
if (i2 < i1) {
dc = '^';
for (int i = i1;i > i2;i--) {
table[i][j2] = dc;
}
} else if (i2 > i1) {
dc = 'v';
for (int i = i1;i < i2;i++) {
table[i][j2] = dc;
}
}
}
} else {
char dc;
if (j2 < j1) {
dc = '<';
for (int j = j1-1;j >= j2;j--) {
table[i1][j] = dc;
}
} else if (j2 > j1) {
dc = '>';
for (int j = j1+1;j <= j2;j++) {
table[i1][j] = dc;
}
}
}
table[i2][j2] = 'A' + i;
stx = vec[i].first;
sty = vec[i].second;
}
}
for (int i = 1;i <= n;i++) {
for (int j = 1;j <= n;j++) {
cout << table[i][j];
}
cout << endl;
}
}