Submission
Status:
[PPPPPPPPPP]
Subtask/Task Score:
{100/100}
Score: 100
User: NovemNotes
Problemset: Path Finding
Language: cpp
Time: 0.002 second
Submitted On: 2025-10-16 09:06:44
#include <bits/stdc++.h>
using namespace std;
char nw = 'A';
void go(int x,int y,int nx,int ny,vector<vector<char>> &vec){
vec[x][y]=nw;
nw++;
if(ny>y){
for(int i=y+1;i<=ny;i++){
vec[x][i]='>';
}
}else{
for(int i=y-1;i>=ny;i--){
vec[x][i]='<';
}
}
if(nx>x){
if(y==ny)x++;
for(int i=x;i<nx;i++){
vec[i][ny]='v';
}
}else{
// x--;
if(y==ny)x--;
for(int i=x;i>nx;i--){
vec[i][ny]='^';
}
}
vec[nx][ny]=nw;
}
int main(){
ios_base::sync_with_stdio(false);cin.tie(NULL);
int n;cin >> n;
vector<vector<char>> vec(n+2,vector<char>(n+2,'_'));
int q;cin >> q;
q--;
int x,y;cin >> x >> y;
x++,y++;
if(x>n||y>n||x<1||y<1){
cout << "Out of range\n";
return 0;
}
// go(6,18,x,y,vec);
while(q--){
int nx,ny;cin >> nx >> ny;
nx++,ny++;
if(nx>n||ny>n||nx<1||ny<1){
cout << "Out of range\n";
return 0;
}
go(x,y,nx,ny,vec);
x=nx,y=ny;
}
for(int i=1;i<=n;i++){
for(int j=1;j<=n;j++){
cout << vec[i][j];
}cout << "\n";
}
return 0;
}
//20 5 5 8