Submission

Status:

[PP-SSSSSSS]

Subtask/Task Score:

{0/100}

Score: 0

User: Poon

Problemset: Path Finding

Language: c

Time: 0.002 second

Submitted On: 2025-10-12 20:02:07

#include <stdio.h>
int main()
{
  int n;
  scanf("%d",&n);
  int points;
  scanf("%d",&points);
  int before_x=-1,before_y=-1;
  char grid[n][n];
  for(int i=0;i<n;i++)
  {
    for(int j=0;j<n;j++)
    {
      grid[i][j]='_';
    }
  }
  for(int k=0;k<points;k++)
  {
    int x,y;
    scanf("%d %d",&x,&y);
    if(x<0||x>=n||y<0||y>=n)
    {
      printf("Out of range");
      return 0;
    }
    if(k==0)
    {
      before_x=x;
      before_y=y;
      grid[x][y]='A';
      continue;
    }
    if(before_y>y)
    {
      for(int i=before_y-1;i>=y;i--)
      {
        grid[before_x][i]='<';
      }
    }
    if(before_y<y)
    {
      for(int i=before_y+1;i<=y;i++)
      {
        grid[before_x][i]='>';
      }
    }
    if(before_x>x)
    {
      for(int i=before_x;i>=x;i--)
      {
        grid[i][y]='^';
      }
    }
    if(before_x<x)
    {
      for(int i=before_x;i<=x;i++)
      {
        grid[i][y]='v';
      }
    }
    grid[x][y]=k+'A';
    before_x=x;
    before_y=y;
  }
  for(int i=0;i<n;i++)
  {
    for(int j=0;j<n;j++)
    {
      printf("%c",grid[i][j]);
    }
    printf("\n");
  }
}