This repository has been archived by the owner on Oct 23, 2018. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 2.8k
/
Copy pathRatinMaze.cpp
85 lines (85 loc) · 2.22 KB
/
RatinMaze.cpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
#include<iostream>
#include<stdlib.h>
#define m 5
#define n 4
using namespace std;
void RatinMaze_Count(char(*)[n], char(*)[n] , int , int); /// <== DECLARATION.
int main()
{
char B[m][n]= {{'O','O','O','O'},
{'O','X','O','X'},
{'O','X','O','O'},
{'O','O','X','O'},
{'O','O','O','O'}
};
char aB[m][n]= {{'O','O','O','O'},
{'O','X','O','X'},
{'O','X','O','O'},
{'O','O','X','O'},
{'O','O','O','O'}
};
aB[0][0]='1';
RatinMaze_Count(B,aB,0,0);
}
void RatinMaze_Count(char B[m][n], char aB[m][n], int r, int c)
{
if(r==m-1&&c==n-1)
{
for(int i=0;i<m;i++)
{
for(int j=0;j<n;j++) cout<<aB[i][j];
cout<<endl;
}
cout<<endl;
return;
}
/// moving right
if(c+1<n&&B[r][c+1]!='X')
{
aB[r][c+1]='1';
RatinMaze_Count(B,aB,r,c+1);
aB[r][c+1]=B[r][c+1];
}
/// moving down
if(r+1<m&&B[r+1][c]!='X')
{
aB[r+1][c]='1';
RatinMaze_Count(B,aB,r+1,c);
aB[r+1][c]=B[r+1][c];
}
return;
}
/// TO RETURN THE NUMBER OF WAYS, IT CAN WIN.
///#include <iostream>
///using namespace std;
///#define m 5
///#define n 4
///
///int RatinMaze_Count(char Board[m][n],int rRow, int rCol){
/// static int cnt=0;
/// if (rRow==m-1 && rCol==n-1){
/// cnt++;
/// return cnt;
/// }
/// ///lets move right
/// if (rCol+1<n && Board[rRow][rCol+1]!='h'){
/// RatinMaze_Count(Board,rRow, rCol+1);
/// }
/// ///let move down
/// if (rRow+1<m && Board[rRow+1][rCol]!='h'){
/// RatinMaze_Count(Board,rRow+1,rCol);
/// }
/// return cnt;/// this return is for returning final cnt to main();
///}
///
///int main(){
/// char Board[m][n]={ {'n','n','n','n'},
/// {'n','h','n','h'},
/// {'n','h','n','n'},
/// {'n','h','h','n'},
/// {'n','n','n','n'}};
/// int cnt=RatinMaze_Count(Board,0,0);
/// cout<<cnt;
///
///
///}