Submission

Status:

[PPPPPPPPPP]

Subtask/Task Score:

{100/100}

Score: 100

User: august

Problemset: Path Finding

Language: c

Time: 0.001 second

Submitted On: 2025-10-06 21:02:44

#include <stdio.h>

int main() {
	int n,m;
	scanf("%d %d", &n,&m);
	
	char b[n][n];
	for (int i=0; i<n; i++) for (int j=0; j<n; j++) b[i][j]='_';
	
	char cur='A';
	int pi=-1, pj=-1;
	for (int i=0; i<m; i++) {
		int r, c;
		scanf("%d %d", &r,&c);
		if (r<0 || r>=n || c<0 || c>=n) {
			printf("Out of range");
			return 0;
		}
		b[r][c] = cur++;
		if (pi==-1 && pj==-1) {
			pi=r;
			pj=c;
			continue;	
		}
		if (pj < c) {//>
			for (int j=pj+1; j<c; j++) {
				//if (pi == r && j==c) continue;
				b[pi][j]='>';
			}
		}
		else if (pj > c) {// <
			for (int j=pj-1; j>c; j--) {
				//if (pi == r && j==c) continue;
				b[pi][j]='<';
			}
		}
		pj=c;

		if (pi < r) {//v
			for (int j=pi; j<r; j++) {
				if (b[j][pj] == cur-2) continue;
				b[j][pj]='v';
				
			}
		}
		else if (pi > r) {//^
			for (int j=pi; j>r; j--) {
				if (b[j][pj] == cur-2) continue;
				b[j][pj]='^';
			}
		}
		pi=r;
	}
	
	for (int i=0; i<n; i++) {
		for (int j=0; j<n; j++) {
			printf("%c", b[i][j]);
		}
		printf("\n");
	}
}