Submission

Status:

[PP-SSSSSSS]

Subtask/Task Score:

{0/100}

Score: 0

User: NovemNotes

Problemset: Path Finding

Language: cpp

Time: 0.002 second

Submitted On: 2025-10-16 08:57:47

#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){
        y++;
        for(int i=y;i<=ny;i++){
            vec[x][i]='>';
        }
    }else{
        y--;
        for(int i=y;i>=ny;i--){
            vec[x][i]='<';
        }
    }
    if(nx>x){
        // x++;
        for(int i=x;i<nx;i++){
            vec[i][ny]='v';
        }
    }else{
        // 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