ミムの部屋

社内SEが,興味をもったことを書いていきます.

最短経路探索

学部時代の授業中に作ったソースコードが見つかったので,なんとなく載せます. タイトルが「最短経路探索」と書いてあったので,おそらくそれを行うものだと思います.
/*(x,y)地点とそこまでの距離cを記録する構造体*/
struct cost{
  int x;
  int y;
  int c;
};

int main(void){
#define BUSIZE (N*2)
  char buf[BUFSIZE];
  char maze[N][N];
  int i,j,sx,sy,gx,gy;
  struct cost pos;
  
  /*迷路を読み込み、mazeにセットする。*/
  for (i = 0;i < N;i++){
    fgets(buf,BUFSIZE,stdin);
    for(j=0;j < N&&(buf[j]) !='\n' &&buf[j] != '\0';j++){
      if (buf[j] == 'S'){
	sx =j;sy=i;buf[j]=' ';
      }else if(buf[j] == 'G'){
	gx = j;gy=i ;buf[j]=' ';
      }
      maze[i][j]=buf[j];
    }
    while (j < N)maze[i][j++]=' ';
  }
  
  
  /***/

  /*最短距離を表示*/ 
  printf("%d\n",pos.c);
  return 0;
}