Submission

Status:

[PPPPPPPPPP]

Subtask/Task Score:

{100/100}

Score: 100

User: spammer_destroyer

Problemset: Path Finding

Language: cpp

Time: 0.002 second

Submitted On: 2025-10-22 07:40:46

#include <iostream>
#include <vector>
using namespace std;
void show(vector<vector<char>> arr, int n) {
  int i,j;
  for(i=0;i<n;i++) {
    for(j=0;j<n;j++) {
      cout << arr[i][j];
    }
    cout << "\n";
  }
}
int main() 
{
    int i,j,l,n,m;
    cin >> n >> m;
    vector<vector<char>> arr(n,vector<char>(n));
    for(i=0;i<n;i++) {
      for(j=0;j<n;j++) {
        arr[i][j]='_';
      }
    }
    int current_x,current_y;
    int next_x,next_y;
    cin >> current_y >> current_x;
    arr[current_y][current_x]='A';
    for(l=1;l<m;l++) {
      cin >> next_y >> next_x;
      if(next_y<0||next_y>n||next_x<0||next_x>n) {
        cout << "Out of range";return 0;
      }
      while(current_x>next_x) {
        current_x--;
        arr[current_y][current_x]='<';
      }
      while(current_x<next_x) {
        current_x++;
        arr[current_y][current_x]='>';
      }
      if((current_y>next_y)&&(arr[current_y][current_x]=='<'||arr[current_y][current_x]=='>')) {
        arr[current_y][current_x]='^';
      }
      while(current_y>next_y) {
        current_y--;
        arr[current_y][current_x]='^';
      }
      if((current_y<next_y)&&(arr[current_y][current_x]=='<'||arr[current_y][current_x]=='>')) {
        arr[current_y][current_x]='v';
      }
      while(current_y<next_y) {
        current_y++;
        arr[current_y][current_x]='v';
      }
      arr[current_y][current_x]='A'+l;
    }
    show(arr,n);
    return 0;
}