Advertisement
Guest User

Untitled

a guest
Nov 18th, 2019
119
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.99 KB | None | 0 0
  1. #include <bits/stdc++.h>
  2.  
  3. using namespace std;
  4.  
  5. #define vi vector<int>
  6. #define ll long long
  7. #define pb push_back
  8. #define mp make_pair
  9. #define ii pair<int,int>
  10.  
  11. vector<vector<char>> graph(505,vector<char>(505));
  12. int n,m;
  13.  
  14. int dfs(int i,int j){ // na main chamamos dfs(start), aonde start é o vértice que começamos o dfs
  15. int counter = 0;
  16. if(graph[i][j] == '.') graph[i][j] = 'X';
  17.  
  18. for(int w = j+1; w < m; w++){
  19. cout << "<" << i << "," << w << ">" << endl;
  20. if(graph[i][w] == '.'){
  21. dfs(i,w);
  22. if((i < n-1)&&(graph[i+1][w] != 'X')) dfs(i+1,w);
  23. if((i > 0)&&(graph[i-1][w] != 'X')) dfs(i-1,w);
  24. }else{
  25. counter++;
  26. }
  27. }
  28. return counter;
  29. }
  30.  
  31. int main(){
  32. scanf("%d %d",&n,&m);
  33.  
  34. for(int i=0;i<n;++i)
  35. {
  36. for(int j=0;j<m;j++){
  37. scanf("%c", &graph[i][j]);
  38. }
  39. scanf("\n");
  40. }
  41.  
  42. printf("%d\n",dfs(0,0));
  43.  
  44. return 0;
  45. }
  46.  
  47.  
  48. /*
  49. compilar
  50. g++ arquivo.cpp -std=c++11 -o executavel
  51. */
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement