Skip to main content

Implementation of DFS Algorithm using recursion

Input :
MX.....XB.
..X..X.X..
...X.X.X..
.....X....
Output : found :)
#include <iostream>
#include <cstdio>
using namespace std;
const int max_row = 4;
const int max_col = 10;
int runtime = 0;
char visited = 'V';
char map[max_row][max_col];
int found = 0;
void find_path(int i, int j)
{
runtime++;
if(i < 0 || j < 0 || i >= max_row || j >= max_col)
{
cout << "Out of Boundary" << endl;
return; // if we go out of area then return;
}
else if(map[i][j] == 'B')
{
cout << "Found B" << endl;
found = 1; // menon can reach to final destination;
return;
}
else if(map[i][j] == 'X')
{
cout << "Found X" << endl;
return; // we can't go through this road;
}
else if(map[i][j] == 'v') {
return;
}
else
{
// This was the peril zone.
if(map[i][j] == '.' || map[i][j] == 'M') {
map[i][j] = 'v'; // seal the peril position :)
}
find_path(i - 1, j); // go up
find_path(i, j + 1); // go right
find_path(i + 1, j); // go down
find_path(i, j - 1); // go left
}
}
int main()
{
freopen("DFS_recursion.txt", "r+", stdin);
int row, col;
char value;
// cin >> row >> col;
// cin.ignore();
row = max_row; col = max_col;
for(int i = 0; i < row; i++)
{
for(int j = 0; j < col; j++)
{
cin >> value;
map[i][j] = value;
}
}
int starting_row = 0, starting_col = 0;
//cin >> starting_row >> starting_col;
// cout << "Done" << endl;
for(int i = 0; i < max_row; i++)
{
for(int j = 0; j < max_col; j++)
{
cout << map[i][j];
}
cout << endl;
}
find_path(starting_row, starting_col);
if(found == 1)
cout << "We can reach our destination :)" << endl;
else
cout << "We can't reach our destination :(" << endl;
return 0;
}

Comments

Popular posts from this blog

উবুন্টুতে রুট পাসওয়ার্ড ভুলে তা রিকভার করার উপায় ।

যদি কেউ রুট পাসওয়ার্ড ভুলে যান তাহলে নিচের কাজ গুলো করে নতুন পাসওয়ার্ড সেট করতে পারবেন: প্রথমে পিসি রিস্টার্ট দিন । দিয়ে UP/DOWN করে kernel version সিলেক্ট করে e চাপুন । ব্ল্যাক Screen আসবে এবার একটা Space দিয়ে লিখুন “Single” [ Enter ] এরপর b চাপুন ফলাফল : লিনাক্সের Single user Mood এ চলে আসছেন । এখন লিখুন passwd root [ Enter ] এখন নতুন পাসওয়ার্ড খানা টাইপ করেন [ এন্টার ] আবার টাইপ করেন [ এন্টার ] কাজ শেষ , এবার reboot টাইপ করেন । এখন নতুন পাসওয়ার্ড দিয়ে লগইন করেন। পুনশ্চ : যদি আপনার উইন্ডোজ এর সাথে ডুয়েল বুট করা থাকে তবে এই প্রক্রিয়া কাজ করবে না ।

Fix The BIOS in this system is not fully ACPI compliant in Windows 7

এই সমস্যা সমাধান করার জন্য আপনি নিচের ধাপ গুলো অনুসরণ করুন। ধাপ ১ :  আপানর  কম্পিউটার এ উইন্ডোজ এর ডিস্ক থেকে বুট করুন । নীচের মত উইন্ডো আসলে Shift + F10 চাপুন । এর ফলে কমান্ড প্রম্প্ট ওপেন হবে। ধাপ ২ : এখন CMD তে নিচের কমান্ড গুলি ধারবাহিক ভাবে লিখুন C: bootrec /FixMbr bootrec /FixBoot bootrec /RebuildBcd exit  এখানে  C হলো যে ড্রাইভ এ উইন্ডোজ দেয়া আছে।  আপনার যদি অন্য কোনো ড্রাইভ ( D, E, F, ..... ) এ উইন্ডোজ দেয়া থাকে তবে আপনাকে C এর জায়গায় সেই ড্রাইভ এর নাম লিখতে হবে।  উপরের সব কমান্ড যদি সঠিক ভাবে বিল্ড হয় তবে আপনি আপনার কম্পিউটার রিস্টার্ট দিন।  দেখবেন আপনার সমস্যা সমাধান হয়ে গেছে :D