merhaba;
ENTER -->0 1 1 1 0 0 0 0 0 0
0 0 0 1 0 0 0 1 0 0
0 1 0 1 1 0 0 1 0 0
0 1 0 0 1 0 1 1 0 0
0 1 0 0 1 0 1 1 0 0
1 1 1 0 1 0 1 0 0 0
0 0 1 0 0 0 1 0 1 1
0 0 1 0 0 0 1 0 1 1
0 1 1 0 1 0 1 0 0 0
0 0 0 0 1 0 1 1 0 0 --> EXIT
Labirent 10x10'luk bir matris şeklindedir. Matristeki 0 değerleri yol, 1 değerleri duvar kabul edilecektir. çapraz gitmek yasaktır amaç sol üst köşeden başlayarak çıkışa ulaşmaktır.seçilen yollar X harfiyle adlandırılacaktır.
-> X 1 1 1 0 0 X---X---X 0
" " "
X---X---X 1 0 0 X 1 X 0
" " "
0 1 X 1 1 X---X 1 X 0
" " "
0 1 X---X 1 X 1 1 X 0
" " "
0 1 0 X 1 X 1 1 X 0
" " "
1 1 1 X 1 X 1 X---X 0
" " "
0 0 1 X---X---X 1 X 1 1
"
0 0 1 0 0 0 1 X 1 1
"
0 1 1 0 1 0 1 X-- X-- X
"
0 0 0 0 1 0 1 1 0 X --> EXIT
Yol Bulma Algoritması:
1. Labirentteki mevcut pozisyon olarak, giriş pozisyonundan başla, (0,0), arama listesine mevcut pozisyonu ekle.
2. Arama listesinden bir sonraki elemanı çıkar,
a) Liste boş ise, labirentte yol yoktur.
b) Değilse ve çıkış pozisyonu (m-1), (n-1)'e varılmışsa labirentte bir yol bulunmuştur.
c) Değilse tüm geçerli üst, alt, sol, sağ komşu pozisyonları arama listesine ekle ve adım 2'yi tekrar et.
şeklinde bir algoritmamız var yığın kullanarak yapılması isteniyor.
yardımcı olursanız çok memnun olurum şimdiden teşekkürler.