#include <stdio.h>
#include <stdlib.h>
#define W 8
#define H 6
char map[H][W] = {
{1,1,1,1,1,1,1,1},
{1,0,0,1,1,1,1,1},
{1,1,0,0,0,1,1,1},
{1,1,1,1,0,0,1,1},
{1,1,1,1,1,0,2,1},
{1,1,1,1,1,1,1,1},
};
void print_map(){
for(int i=0;i<H;i++){
for(int j=0;j<W;j++){
if(map[i][j]==0){
}else if(map[i][j]==1){
}else if(map[i][j]==2){
}
}
}
}
void maze0(int x,int y,int depth){
for(int i=0;i<depth*2;i++){
}
switch(map[y][x]){
case 0: printf("(%d,%d)\n",x
,y
); break; case 1: printf("(%d,%d)X\n",x
,y
); break; case 2: printf("(%d,%d) OK\n",x
,y
); break; }
}
void maze1(int x,int y,int depth){
for(int i=0;i<depth*2;i++){
}
switch(map[y][x]){
case 0:
maze1(x+1,y,depth+1);
maze1(x,y+1,depth+1);
break;
case 1: printf("(%d,%d)X\n",x
,y
); break; case 2: printf("(%d,%d) OK\n",x
,y
); exit(0); break; }
}
int main(){
print_map();
/*for(int i=0;i<H;i++){
for(int j=0;j<W;j++){
maze0(j,i,2);
}
}*/
maze1(1,1,0);
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDxzdGRsaWIuaD4KI2RlZmluZSBXIDgKI2RlZmluZSBIIDYKY2hhciBtYXBbSF1bV10gPSB7CiAgICB7MSwxLDEsMSwxLDEsMSwxfSwKICAgIHsxLDAsMCwxLDEsMSwxLDF9LAogICAgezEsMSwwLDAsMCwxLDEsMX0sCiAgICB7MSwxLDEsMSwwLDAsMSwxfSwKICAgIHsxLDEsMSwxLDEsMCwyLDF9LAogICAgezEsMSwxLDEsMSwxLDEsMX0sCn07CiAgICAKdm9pZCBwcmludF9tYXAoKXsKICAgIGZvcihpbnQgaT0wO2k8SDtpKyspewogICAgICAgIGlmKGkhPTApIHByaW50ZigiXG4iKTsKICAgICAgICBmb3IoaW50IGo9MDtqPFc7aisrKXsKICAgICAgICAgICAgaWYobWFwW2ldW2pdPT0wKXsKICAgICAgICAgICAgICAgIHByaW50ZigiICIpOwogICAgICAgICAgICB9ZWxzZSBpZihtYXBbaV1bal09PTEpewogICAgICAgICAgICAgICAgcHJpbnRmKCIjIik7CiAgICAgICAgICAgIH1lbHNlIGlmKG1hcFtpXVtqXT09Mil7CiAgICAgICAgICAgICAgICBwcmludGYoIkciKTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0KICAgIHByaW50ZigiXG4iKTsKfQp2b2lkIG1hemUwKGludCB4LGludCB5LGludCBkZXB0aCl7CiAgICBmb3IoaW50IGk9MDtpPGRlcHRoKjI7aSsrKXsKICAgICAgICBwcmludGYoIiAiKTsKICAgIH0KICAgIHN3aXRjaChtYXBbeV1beF0pewogICAgICAgIGNhc2UgMDogcHJpbnRmKCIoJWQsJWQpXG4iLHgseSk7IGJyZWFrOwogICAgICAgIGNhc2UgMTogcHJpbnRmKCIoJWQsJWQpWFxuIix4LHkpOyBicmVhazsKICAgICAgICBjYXNlIDI6IHByaW50ZigiKCVkLCVkKSBPS1xuIix4LHkpOyBicmVhazsKICAgIH0KfQp2b2lkIG1hemUxKGludCB4LGludCB5LGludCBkZXB0aCl7CiAgICBmb3IoaW50IGk9MDtpPGRlcHRoKjI7aSsrKXsKICAgICAgICBwcmludGYoIiAiKTsKICAgIH0KICAgIHN3aXRjaChtYXBbeV1beF0pewogICAgICAgIGNhc2UgMDogCiAgICAgICAgICAgIHByaW50ZigiKCVkLCVkKVxuIix4LHkpOwogICAgICAgICAgICBtYXplMSh4KzEseSxkZXB0aCsxKTsKICAgICAgICAgICAgbWF6ZTEoeCx5KzEsZGVwdGgrMSk7CiAgICAgICAgICAgIGJyZWFrOwogICAgICAgIGNhc2UgMTogcHJpbnRmKCIoJWQsJWQpWFxuIix4LHkpOyBicmVhazsKICAgICAgICBjYXNlIDI6IHByaW50ZigiKCVkLCVkKSBPS1xuIix4LHkpOyBleGl0KDApOyBicmVhazsKICAgIH0KfQppbnQgbWFpbigpewogICAgcHJpbnRfbWFwKCk7CiAgICAvKmZvcihpbnQgaT0wO2k8SDtpKyspewogICAgICAgIGZvcihpbnQgaj0wO2o8VztqKyspewogICAgICAgICAgICBtYXplMChqLGksMik7CiAgICAgICAgfQogICAgfSovCiAgICBtYXplMSgxLDEsMCk7CiAgICByZXR1cm4gMDsKfQ==