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 12:45:00

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