Submission

Status:

[-SSSSSSSSS]

Subtask/Task Score:

{0/100}

Score: 0

User: wleo.lwo

Problemset: Path Finding

Language: cpp

Time: 0.002 second

Submitted On: 2026-08-02 16:16:00

#include <iostream>
#include <vector>
#include <string>
using namespace std;

int main() {
    int x, y;
    cin >> x >> y;

    vector<string> mp(x, string(x, '_'));

    vector<vector<int>> arr(y, vector<int>(2));

    for (int i = 0; i < y; i++) {
        cin >> arr[i][0] >> arr[i][1];

        if (arr[i][0] < 0 || arr[i][0] >= x ||
            arr[i][1] < 0 || arr[i][1] >= x) {
            cout << "Out of range";
            return 0;
        }
    }

    mp[arr[0][0]][arr[0][1]] = 'A';

    for (int i = 0; i < y - 1; i++) {

        mp[arr[i][0]][arr[i][1]] = 'A' + i;

        int q = arr[i][1] - arr[i + 1][1];
        int w = 1;

        if (q > 0) {
            while (w <= q) {
                mp[arr[i][0]][arr[i][1] - w] = '<';
                w++;
            }
        }
        else if (q < 0) {
            q = -q;
            while (w <= q) {
                mp[arr[i][0]][arr[i][1] + w] = '>';
                w++;
            }
        }

        q = arr[i][0] - arr[i + 1][0];
        w = 1;

        if (q > 0) {
            while (w <= q) {
                mp[arr[i][0] - w][arr[i + 1][1]] = '^';
                w++;
            }
        }
        else if (q < 0) {
            q = -q;
            while (w <= q) {
                mp[arr[i][0] + w][arr[i + 1][1]] = 'v';
                w++;
            }
        }

        mp[arr[i][0]][arr[i][1]] = 'A' + i;
    }

    mp[arr[y - 1][0]][arr[y - 1][1]] = 'A' + y - 1;

    for (int i = 0; i < x; i++)
        cout << mp[i] << '\n';

    return 0;
}