00001 #include<stdio.h>
00002
00003 int A[5][5]={{1,1,1,1,1},
00004 {2,0,0,0,1},
00005 {1,0,1,0,1},
00006 {1,0,1,0,1},
00007 {1,3,1,1,1}};
00008
00009 int B[5][5]={{0,0,0,0,0},
00010 {0,0,0,0,0},
00011 {0,0,0,0,0},
00012 {0,0,0,0,0},
00013 {0,0,0,0,0}};
00014
00015 int main(void){
00016 int i,j;
00017 int Si,Sj;
00018 int s,k,a;
00019
00020 for(i=0;i<5;i++){
00021 for(j=0;j<5;j++){
00022 if(A[i][j]==2){
00023 B[i][j]=1;
00024 Si=i;
00025 Sj=j;
00026 break;
00027 }
00028 }
00029 }
00030 i=Si;
00031 j=Sj;
00032
00033 for(s=0;s<8;s++){
00034 int C[4]={0,0,0,0};
00035
00036 if(A[i][j]==3){
00037 printf("GOAL\n");
00038 break;
00039 }
00040
00041 if(i==0 || A[i-1][j]==1 || B[i-1][j]>0 )
00042 C[0]=1;
00043
00044 if(j==5 || A[i][j+1]==1 || B[i][j+1]>0)
00045 C[1]=1;
00046
00047 if(i==5 || A[i+1][j]==1 || B[i+1][j]>0)
00048 C[2]=1;
00049
00050 if(j==0 || A[i][j-1]==1 || B[i][j-1]>0)
00051 C[3]=1;
00052 for(k=0;k<5;k++){
00053 if(k==4)
00054 a=4;
00055 else if(C[k]==0){
00056 a=k;
00057 break;
00058 }
00059 }
00060
00061 printf("%d\n",a);
00062
00063 if(a==0){
00064 i=i-1;
00065 }
00066 if(a==1){
00067 j=j+1;
00068 }
00069 if(a==2){
00070 i=i+1;
00071 }
00072 if(a==3){
00073 j=j-1;
00074 }
00075 if(a==4){
00076 B[i][j]=9;
00077
00078
00079 if(i!=0 && B[i-1][j]==1)
00080 i=i-1;
00081
00082 if(j!=5 && B[i][j+1]==1)
00083 j=j+1;
00084
00085 if(i!=5 && B[i+1][j]==1)
00086 i=i+1;
00087
00088 if(j!=0 && B[i][j-1]==1)
00089 j=j-1;
00090 }
00091 printf("%d %d\n",i,j);
00092 B[i][j]=1;
00093
00094 }
00095
00096 for(i=0;i<5;i++){
00097 for(j=0;j<5;j++){
00098 printf("%d",B[i][j]);
00099 }
00100 printf("\n");
00101 }
00102
00103 return 0;
00104 }
00105