Submission
Status:
[PP-SSSSSSS]
Subtask/Task Score:
{0/100}
Score: 0
User: kf._.exe
Problemset: Path Finding
Language: cpp
Time: 0.002 second
Submitted On: 2025-10-16 20:55:15
#include<bits/stdc++.h>
using namespace std;
#define fastio ios::sync_with_stdio(false); cin.tie(0); cout.tie(0);
#define dbg(x) cout << #x << " = " << x << '\n';
#define int long long
#define dd double
#define ld long double
void solve(){
int n,m;cin >> n >> m;m--;
vector<string> s(n,string(n,'_'));
char c = 'A';
int r1=0,c1=0;cin >> r1 >> c1;
if(r1 >= n || r1 < 0 || c1 >= n || c1 < 0) {cout << "Out of range\n";return; }
s[r1][c1] = c;
int r2,c2;
while(m--){
cin>>r2>>c2;
if(r2 >= n || r2 < 0 || c2 >= n || c2 < 0) {
cout << "Out of range\n";
return ;
}
int dr = abs(r1-r2);int dirr = (r1 < r2 )?1:-1;char cr = (dirr==1)? 'v' : '^';
int dc = abs(c1-c2);int dirc = (c1 < c2)?1:-1;char cc = (dirc==1)? '>' : '<';
int i,ii;
// col
for(i=1;i<dc;++i) s[r1][c1 + i*dirc] = cc;
//row
for(ii=0;ii<dr;++ii) s[r1 + ii*dirr][c2] = cr;
if(i!=1||ii!=0)s[r2][c2]=(char)++c;
// update
r1=r2;c1=c2;
}
for(auto &x : s){
for(auto &y : x) cout << y;
cout << "\n";
}
}
int32_t main(){
fastio;
int T = 1;
//cin >> T
while(T--) solve();
return 0;
}