Submission

Status:

[-SSSSSSSSS]

Subtask/Task Score:

{0/100}

Score: 0

User: august

Problemset: Path Finding

Language: c

Time: 0.001 second

Submitted On: 2025-10-03 12:52:47

#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 (pi < r) {//v
			for (int j=pi+1; j<=r; j++) {
				if (j == r && pj==c) continue;
				b[++pi][pj]='v';
				
			}
		}
		else if (pi > r) {//^
			for (int j=pi-1; j>=r; j--) {
				if (j == r && pj==c) continue;
				b[--pi][pj]='^';
			}
		}
		if (pj < c) {//>
			for (int j=pj+1; j<=c; j++) {
				if (pi == r && j==c) continue;
				b[pi][++pj]='>';
			}
		}
		else if (pj > c) {// <
			for (int j=pj-1; j>=c; j--) {
				if (pi == r && j==c) continue;
				b[pi][--pj]='<';
			}
		}
		pi=r;
		pj=c;
	}
	
	for (int i=0; i<n; i++) {
		for (int j=0; j<n; j++) {
			printf("%c", b[i][j]);
		}
		printf("\n");
	}
}