#include #define MAX 150 #define HILL 'k' #define SWAMP 't' #define ROAD '.' #define FOREST 's' #define GRASS 'g' const int dx[4]={0,0,1,-1}; const int dy[4]={1,-1,0,0}; int penalty(char c) { switch (c) { case GRASS : return 1; case FOREST : return 2; case HILL : return 3; case SWAMP : return 4; } return 0; } int main(void) { int i,j,d,best,cur,n,nx,ny,src,dest; int xsize,ysize,size; char map[MAX][MAX+1]; int dist[MAX*MAX],pre[MAX][MAX],visited[MAX*MAX]; scanf("%d %d",&xsize,&ysize); for(i=0;i=0) && !visited[i] && ((dist[i]=0) && (ny>=0) && (nx='a') && (map[ny][nx]<='z')) map[ny][nx]-=32; cur=pre[ny][nx]; } printf("%d\n",dist[dest]); /* for(i=0;i