Submission
Status:
[PPPPPPPPPP]
Subtask/Task Score:
{100/100}
Score: 100
User: Apimuk
Problemset: Path Finding
Language: cpp
Time: 0.003 second
Submitted On: 2025-10-14 16:11:02
#include <bits/stdc++.h>
using namespace std;
int main() {
ios::sync_with_stdio(false);
cin.tie(nullptr);
int n ;
cin >> n;
vector<vector<char>> a(n,vector<char> (n,'_'));
int m;
cin >> m;
int cnt =0;
int rr, rc;
int isout = 0;
while(m > 0){
int dr , dc;
cin >> dr >> dc;
if(dr >= n || dc >= n || dc<0 || dr<0){
cout << "Out of range" ;
isout = 1;
}
if(cnt == 0 && isout!= 1){
rr = dr;
rc = dc;
a[rr][rc] = 'A';
cnt ++ ;
m--;
continue;
}
while(rc > dc && isout !=1){
rc--;
a[rr][rc] = '<';
}
while(rc < dc && isout !=1){
rc++;
a[rr][rc] = '>';
}
while(rr > dr && isout !=1){
rr--;
a[rr][rc] = '^';
if(a[rr+1][rc] == '<' || a[rr+1][rc] == '>' || a[rr+1][rc] == 'v'){
a[rr+1][rc] = '^';
}
}
while(rr < dr && isout!=1){
rr++;
a[rr][rc] = 'v';
if(a[rr-1][rc] == '<' || a[rr-1][rc] == '>' || a[rr-1][rc] == '^'){
a[rr-1][rc] = 'v';
}
}
if(isout!=1){
a[dr][dc] = 'A' + cnt;
cnt++;
}
m--;
}
if(isout == 1){
return 0;
}
for(int i = 0; i< n ; i++){
for(int j = 0 ; j< n ; j++){
cout << a[i][j] ;
}
cout << endl;
}
}