Submission #691651


Source Code Expand

#include <stdio.h>
#include <limits.h>

char map[51][51];
int visited[51][51] = {0};
int cost[51][51] = {0};
int sy, sx;
int gy, gx;

int isOut(int y, int x, int r, int c)
{
  return (x < 0 || y < 0 || r <= y || c <= x);
}

void Haba(int y, int x, int r, int c, int n)
{
  int temp = n + 1;
  if ( isOut(y, x, r, c) ) { return; }
  if ( map[y][x] == '#' ) { return; }
  if ( visited[y][x] ) { return; }
  
  visited[y][x] = 1;
  if ( cost[y][x] > temp ) { cost[y][x] = temp; }
  //printf("x:%d y:%d cost:%d\n", x, y, cost[y][x]);
  Haba(y+1, x, r, c, temp);
  Haba(y-1, x, r, c, temp);
  Haba(y, x+1, r, c, temp);
  Haba(y, x-1, r, c, temp);
}

void Show(int r, int c)
{
  int i, j;
  for ( i=0; i<r; i++ ) {
    for ( j=0; j<c; j++ ) {
      printf("%c", map[i][j]);
    }
    putchar('\n');
  }
}

int main(void)
{
  int r, c;
  int i, j;
  scanf("%d %d", &r, &c);
  scanf("%d %d", &sy, &sx);
  scanf("%d %d", &gy, &gx);
  for ( i=0; i<r; i++ ) {
    scanf("%s", &map[i]);
  }
  
  sy--; sx--; gy--; gx--;
  for ( i=0; i<r; i++ ) {
    for ( j=0; j<c; j++ ) {
      cost[i][j] = INT_MAX;
    }
  }
  
  
  Haba(sy, sx, r, c, -1);
  
  printf("%d\n", cost[gy][gx]);
  
  return 0;
}

Submission Info

Submission Time
Task A - 幅優先探索
User moxtsuan
Language C (GCC 5.4.1)
Score 0
Code Size 1250 Byte
Status WA
Exec Time 3 ms
Memory 384 KB

Compile Error

./Main.c: In function ‘main’:
./Main.c:50:11: warning: format ‘%s’ expects argument of type ‘char *’, but argument 2 has type ‘char (*)[51]’ [-Wformat=]
     scanf("%s", &map[i]);
           ^
./Main.c:46:3: warning: ignoring return value of ‘scanf’, declared with attribute warn_unused_result [-Wunused-result]
   scanf("%d %d", &r, &c);
   ^
./Main.c:47:3: warning: ignoring return value of ‘scanf’, declared with attribute warn_unused_result [-Wunused-result]
   scanf("%d %d", &sy, &sx);
   ^
./Main.c:48:3: warning: ignoring return value of ‘scanf’, declared with attribute warn_unused_result [-Wunused-result]
   scanf("%d %d", &gy, &gx);
   ^
./Main.c:50:5: warning: ignoring return value of ‘scanf’, declared with attribute warn_unused_result [-Wunused-result]
     scanf("%s", &map[i]);
     ^

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 0 / 100
Status
AC × 2
WA × 1
AC × 8
WA × 17
Set Name Test Cases
Sample subtask0_sample01.txt, subtask0_sample02.txt, subtask0_sample03.txt
All subtask0_sample01.txt, subtask0_sample02.txt, subtask0_sample03.txt, subtask1_01.txt, subtask1_02.txt, subtask1_03.txt, subtask1_04.txt, subtask1_05.txt, subtask1_06.txt, subtask1_07.txt, subtask1_08.txt, subtask1_09.txt, subtask1_10.txt, subtask1_11.txt, subtask1_12.txt, subtask1_13.txt, subtask1_14.txt, subtask1_15.txt, subtask1_16.txt, subtask1_17.txt, subtask1_18.txt, subtask1_19.txt, subtask1_20.txt, subtask1_21.txt, subtask1_22.txt
Case Name Status Exec Time Memory
subtask0_sample01.txt AC 2 ms 128 KB
subtask0_sample02.txt AC 2 ms 128 KB
subtask0_sample03.txt WA 3 ms 384 KB
subtask1_01.txt AC 2 ms 256 KB
subtask1_02.txt AC 2 ms 256 KB
subtask1_03.txt AC 2 ms 128 KB
subtask1_04.txt WA 3 ms 384 KB
subtask1_05.txt WA 3 ms 384 KB
subtask1_06.txt WA 3 ms 256 KB
subtask1_07.txt AC 2 ms 128 KB
subtask1_08.txt AC 2 ms 128 KB
subtask1_09.txt WA 2 ms 256 KB
subtask1_10.txt WA 2 ms 128 KB
subtask1_11.txt WA 3 ms 384 KB
subtask1_12.txt WA 2 ms 256 KB
subtask1_13.txt WA 3 ms 128 KB
subtask1_14.txt AC 2 ms 128 KB
subtask1_15.txt WA 2 ms 256 KB
subtask1_16.txt WA 2 ms 256 KB
subtask1_17.txt WA 2 ms 256 KB
subtask1_18.txt WA 2 ms 256 KB
subtask1_19.txt WA 2 ms 256 KB
subtask1_20.txt WA 3 ms 256 KB
subtask1_21.txt WA 2 ms 256 KB
subtask1_22.txt WA 3 ms 256 KB