Submission
Status:
[PxSSSSSSSS]
Subtask/Task Score:
{0/100}
Score: 0
User: ZanTy
Problemset: Path Finding
Language: cpp
Time: 0.002 second
Submitted On: 2026-10-08 13:53:09
#include <bits/stdc++.h>
using namespace std;
int main(){
int n,q;
cin >> n >> q;
int targetx[q-1];
int targety[q-1];
int x[q];
int y[q];
char arr[n][n];
for (int i = 0;i < n;i++){
for (int j = 0;j < n;j++){
arr[i][j] = '_';
}
}
for (int i = 0;i < q;i++){
cin >> x[i] >> y[i];
arr[x[i]][y[i]] = char('A'+i);
if (i >= 1){
targetx[i-1] = x[i];
targety[i-1] = y[i];
}
}
for (int i = 0;i < q-1;i++){
int skip = 0;
int state = 0;
int sex = 0;
int x1 = x[i];
int y1 = y[i];
int x2 = targetx[i];
int y2 = targety[i];
if (y2 > y1){
sex = 1;
for (int j = 1;y1 + j != y2;j++){
skip = 0;
for (int k = 1;k < q;k++){
if (char(k+'A') == arr[x1][y1+j]){
skip = 1;
}
}
if (!skip){
arr[x1][y1+j] = '>';sex++;
}
}
}
else if (y1 > y2){
sex = 1;
for (int j = 1; y2 + j != y1;j++){
skip = 0;
for (int k = 1;k < q;k++){
if (char(k+'A') == arr[x1][y1-j]){
skip = 1;
}
}
if (!skip){
arr[x1][y1-j] = '<';sex++;
}
}
}
if (y2 == y1){
state = 1;
}
if (x2 > x1){
for (int j = state; x1 + j != x2;j++){
skip = 0;
for (int k = 1;k < q;k++){
if (char(k+'A') == arr[x1+j][y2]){
skip = 1;
}
}
if (!skip){
arr[x1+j][y2] = 'v';
}
}
}
else if (x2 < x1){
for (int j = state; x2 + j != x1;j++){
skip = 0;
for (int k = 1;k < q;k++){
if (char(k+'A') == arr[x1-j][y2]){
skip = 1;
}
}
if (!skip){
arr[x1-j][y2] = '^';
}
}
}
}
for (int i = 0;i < n;i++){
for (int j = 0;j < n;j++){
cout <<arr[i][j];
}
cout <<'\n';
}
}