Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- /*Author: Eunice Huang studentid: 400092172 macid: huangb16
- filename: path.c*/
- int the_path(int n, int m, int a[n][m], int row, int column, int desrow, int descol){
- int r, c;
- int counter = 0;
- a[row][column] = 1;
- for(r = row - 1; r <= row + 1; r++){
- for(c = column - 1; c <= column + 1; c++){
- if(r == desrow && c == descol){break;}
- else if((r != row || c != column) && a[r][c] == 0){
- counter += the_path(n, m, a, r, c, desrow, descol);
- }
- else{continue;}
- }
- }
- return counter;
- }
- int find_path(int n, int m, int A[], int i, int j, int k, int l){
- int row, column;
- int final;
- int array[30][30];
- for(int a = 0; a < n; a++){
- for(int b = 0; b < m; b++){
- array[a][b] = A[a*m + b];
- printf("%d", array[a][b]);
- }
- printf("\n");
- }
- /*special cases*/
- if(i < 0 || i >= n){return -2;}
- else if(j < 0 || j >= m){return -3;}
- else if(array[i][j] == 1 || array[k][l] == 1){return -1;}
- else{
- if(array[i][j] == 0){
- final = the_path(n, m, array, i, j, k, l);
- printf("%d\n", final);
- return final;}
- }
- return 0;
- }
- int main(){
- int n = 3, m = 4;
- int i = 1, j = 1, k = 0, l = 3;
- //int path[][2];
- int A[] = {0, 1, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0};
- find_path(n, m, A, i, j, k, l);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement