Submission

Status:

[PPPPPPPPPP]

Subtask/Task Score:

{100/100}

Score: 100

User: kf._.exe

Problemset: Path Finding

Language: cpp

Time: 0.002 second

Submitted On: 2025-10-16 21:28:02

#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;
     vector<string> s(n,string(n,'_'));
     int a[m],b[m];
     char c = 'A';

     
     for(int i=0;i<m;++i) cin >> a[i] >> b[i];
     
     for(int i=0;i<m;++i){
          if(a[i] >= n || a[i] < 0 || b[i] >= n || b[i] < 0 ){
               cout << "Out of range\n";
               return;
          }
     }

     int r1,c1,r2=0,c2=0;
     for(int k=0;k<m-1;++k){
          r1 = a[k];r2 = a[k+1];
          c1 = b[k];c2 = b[k+1];
          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;

          s[r1][c1] = c++;
          s[r2][c2] = c;
     }

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