Advertisement
Guest User

Untitled

a guest
Oct 17th, 2019
93
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.47 KB | None | 0 0
  1. #include <stdio.h>
  2. /*Author: Eunice Huang studentid: 400092172 macid: huangb16
  3. filename: path.c*/
  4.  
  5. int the_path(int n, int m, int a[n][m], int row, int column, int desrow, int descol){
  6. int r, c;
  7. int counter = 0;
  8. a[row][column] = 1;
  9. for(r = row - 1; r <= row + 1; r++){
  10. for(c = column - 1; c <= column + 1; c++){
  11. if(r == desrow && c == descol){break;}
  12. else if((r != row || c != column) && a[r][c] == 0){
  13. counter += the_path(n, m, a, r, c, desrow, descol);
  14. }
  15. else{continue;}
  16. }
  17. }
  18. return counter;
  19. }
  20.  
  21.  
  22.  
  23. int find_path(int n, int m, int A[], int i, int j, int k, int l){
  24. int row, column;
  25. int final;
  26. int array[30][30];
  27. for(int a = 0; a < n; a++){
  28. for(int b = 0; b < m; b++){
  29. array[a][b] = A[a*m + b];
  30. printf("%d", array[a][b]);
  31. }
  32. printf("\n");
  33. }
  34.  
  35. /*special cases*/
  36. if(i < 0 || i >= n){return -2;}
  37. else if(j < 0 || j >= m){return -3;}
  38. else if(array[i][j] == 1 || array[k][l] == 1){return -1;}
  39.  
  40. else{
  41. if(array[i][j] == 0){
  42. final = the_path(n, m, array, i, j, k, l);
  43. printf("%d\n", final);
  44. return final;}
  45. }
  46. return 0;
  47. }
  48.  
  49. int main(){
  50. int n = 3, m = 4;
  51. int i = 1, j = 1, k = 0, l = 3;
  52. //int path[][2];
  53. int A[] = {0, 1, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0};
  54. find_path(n, m, A, i, j, k, l);
  55.  
  56. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement