Advertisement
dyamondz

Foc! - P73468

Jan 7th, 2018
156
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.35 KB | None | 0 0
  1. #include <iostream>
  2. #include <vector>
  3. using namespace std;
  4.  
  5. typedef vector< vector<char> > Matriu;
  6.  
  7. void omplir(Matriu&f, int a, int b){
  8.     if(a>0){
  9.         if(f[a-1][b]=='A'){
  10.             f[a-1][b]='F';
  11.             omplir(f,a-1,b);
  12.         }
  13.     }
  14.     if(a<f.size()-1){
  15.         if(f[a+1][b]=='A'){
  16.             f[a+1][b]='F';
  17.             omplir(f,a+1,b);
  18.         }
  19.     }
  20.     if(b>0){
  21.         if(f[a][b-1]=='A'){
  22.             f[a][b-1]='F';
  23.             omplir(f,a,b-1);
  24.         }
  25.     }
  26.     if(b<f[0].size()-1){
  27.         if(f[a][b+1]=='A'){
  28.             f[a][b+1]='F';
  29.             omplir(f,a,b+1);
  30.         }
  31.     }
  32. }
  33.  
  34. void foc(Matriu&f,int n,int m){
  35.     for(int i=0;i<n;++i){
  36.         for(int j=0;j<m;++j){
  37.             if(f[i][j]=='F'){
  38.                 f[i][j]='F';
  39.                 omplir(f,i,j);
  40.             }
  41.         }
  42.     }
  43.     for(int i=0;i<n;++i){
  44.         for(int j=0;j<m;++j){
  45.             if(f[i][j]=='F') f[i][j]='.';
  46.         }
  47.     }
  48. }
  49.  
  50. int main(){
  51.     int n,m;
  52.     while(cin>>n){
  53.         cin>>m;
  54.         Matriu f(n, vector<char>(m));
  55.         for(int i=0;i<n;++i){
  56.             for(int j=0;j<m;++j) cin>>f[i][j];
  57.         }
  58.         foc(f,n,m);
  59.         for(int i=0;i<n;++i){
  60.             for(int j=0;j<m;++j){
  61.                     cout<<f[i][j];
  62.             }
  63.             cout<<endl;
  64.         }
  65.         cout<<endl;
  66.     }
  67. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement