Submission
Status:
[PP-SSSSSSS]
Subtask/Task Score:
{0/100}
Score: 0
User: Mano
Problemset: Path Finding
Language: cpp
Time: 0.002 second
Submitted On: 2025-10-11 13:43:36
#include<iostream>
using namespace std;
int main(){
int x,y,cur=0;
cin>>x>>y;
char arr[x][x];
int mark[y][2];
for(int i=0;i<x;i++){
for(int j=0;j<x;j++){
arr[i][j]='_';
}
}
for(int i=0;i<y;i++){
for(int j=0;j<2;j++){
cin>>mark[i][j];
if(mark[i][j]>x || mark[i][j]<0){
cout<<"Out of range";
return 0;
}
}
}
for(int i=0;i<y;i++){
arr[mark[i][0]][mark[i][1]]=(char)('A'+i);
}
for(int i=0;i<y-1;i++){
char ch1=(char)('A'+i);
char ch2=(char)('A'+i+1);
int x1=mark[i][1],y1=mark[i][0];
int x2=mark[i+1][1],y2=mark[i+1][0];
if(x2>x1){
while(x1<=x2){
if(arr[y1][x1]!=ch1 && arr[y1][x1]!=ch2){
arr[y1][x1]='>';
}
x1++;
}
}else if(x1>x2){
while(x1>=x2){
if(arr[y1][x1]!=ch1 && arr[y1][x1]!=ch2){
arr[y1][x1]='<';
}
x1--;
}
}
x1=x2;
if(y1>y2){
while(y1>=y2){
if(arr[y1][x1]!=ch1 && arr[y1][x1]!=ch2){
arr[y1][x1]='^';
}
y1--;
}
}else if(y2>y1){
while(y2>=y1){
if(arr[y1][x1]!=ch1 && arr[y1][x1]!=ch2){
arr[y1][x1]='v';
}
y1++;
}
}
}
for(int i=0;i<x;i++){
for(int j=0;j<x;j++){
cout<<arr[i][j];
}
cout<<endl;
}
return 0;
}