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;
}