Submission

Status:

[-SSSSSSSSS]

Subtask/Task Score:

{0/100}

Score: 0

User: Apimuk

Problemset: Path Finding

Language: cpp

Time: 0.002 second

Submitted On: 2025-10-14 15:37:48

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

    int main() {
        ios::sync_with_stdio(false);
        cin.tie(nullptr);
        int n ;
        cin >> n;
        vector<vector<char>> a(n,vector<char> (n,'_'));
        int m;
        cin >> m;
        int cnt =0;
        int rr, rc;
        int isout = 0;
        while(m > 0){
            int dr , dc;
            cin >> dr >> dc;
            if(dr >= n || dc >= n || dc<0 || dr<0){
                cout << "Out of range" ;
                isout = 1;
                int tmp[100];
            }
            if(cnt == 0 & isout!= 1){
                rr = dr;
                rc = dc;
                a[rr][rc] = 'A';
                cnt ++ ;
                m--;
                continue;
            }
            while(rc > dc && isout !=1){
                rc--;
                a[rr][rc] = '<';
            }
            while(rc < dc && isout !=1){
                rc++;
                a[rr][rc] = '>';
            }
            while(rr > dr && isout !=1){
                if(a[rr][rc] == '>' || a[rr][rc] == '<' || a[rr][rc] == 'V'){
                    a[rr][rc] = '^';
                }
                rr--;
                a[rr][rc] = '^';

            }
            while(rr < dr && isout!=1){
                if(a[rr][rc] == '>' || a[rr][rc] == '<' || a[rr][rc] == '^'){
                    a[rr][rc] = 'V';
                }
                a[rr][rc] = 'V';
                rr++;
            }
            m--;
            a[dr][dc] = 'A' + cnt;
            cnt++;
        }
        if(isout == 1){
            return 0;
        }
        for(int i = 0;  i< n ; i++){
            for(int j = 0 ; j< n ; j++){
                cout << a[i][j] ;
            }
            cout << endl;
        }
    }