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