Submission

Status:

[PPPPPPPPPP]

Subtask/Task Score:

{100/100}

Score: 100

User: porpeang

Problemset: Path Finding

Language: cpp

Time: 0.004 second

Submitted On: 2026-10-07 21:34:25

#include <bits/stdc++.h>
using namespace std;

int main(){
  int a=0,b=0,c=0,rl=0,ud=0;
  string ti;
  cin>>a;
  vector<int>vev;
  vector<vector<char>>vec(a,vector<char>(a));
  for(int i=0;i<a;i++){
    for(int j=0;j<a;j++){
      vec[i][j]='_';
    }
  }
  cin>>b;
  for(int p=0; p<b*2; p++){
    cin>>c;
    if(c < 0 || c >= a){
      cout << "Out of range\n";
      return 0;
    }
    vev.push_back(c);
  }
  
  vec[vev[0]][vev[1]] = 'A';
  
  for(int t=0; t+3<b*2; t=t+2){
    if (vev[t+1] < vev[t+3]) { 
      for (int q = vev[t+1] + 1; q <= vev[t+3]; q++) vec[vev[t]][q] = '>';
    } else if (vev[t+1] > vev[t+3]) { 
      for (int q = vev[t+1] - 1; q >= vev[t+3]; q--) vec[vev[t]][q] = '<';
    }

    
    int start_g = (vev[t+1] != vev[t+3]) ? vev[t] : ((vev[t] < vev[t+2]) ? vev[t] + 1 : vev[t] - 1);

    if (vev[t] < vev[t+2]) { 
      for (int g = start_g; g <= vev[t+2]; g++) vec[g][vev[t+3]] = 'v';
    } else if (vev[t] > vev[t+2]) { 
      for (int g = start_g; g >= vev[t+2]; g--) vec[g][vev[t+3]] = '^';
    }

    
    vec[vev[t+2]][vev[t+3]] = 'A' + (t / 2) + 1;
  }

  for(int x=0;x<a;x++){
    for(int y=0;y<a;y++){
      cout<<vec[x][y];
    }
    cout<<'\n';
  }
}