Advertisement
dyamondz

Pintant un tauler - P40479

Nov 30th, 2018
125
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.23 KB | None | 0 0
  1. #include <iostream>
  2. #include <vector>
  3. using namespace std;
  4.  
  5. typedef vector<char> Vec;
  6. typedef vector<Vec> Matrix;
  7.  
  8. void propagate(Matrix& table, int x, int y, char c){
  9.     if(table[x][y]!='#'){
  10.         if(table[x][y]!= c){
  11.             table[x][y]=c;
  12.             propagate(table,x+1,y,c);
  13.             propagate(table,x,y+1,c);
  14.             propagate(table,x-1,y,c);
  15.             propagate(table,x,y-1,c);
  16.         }
  17.     }
  18. }
  19.  
  20.  
  21.  
  22. int main(){
  23.     int n,m;
  24.     while(cin>>n){
  25.         cin>>m;
  26.         Matrix table(n,Vec(m));
  27.         for(int i=0; i<n;++i){
  28.             for(int j=0; j<m; ++j){
  29.                 cin>>table[i][j];
  30.             }
  31.         }
  32.         for(int i=0; i<n;++i){
  33.             for(int j=0; j<m; ++j){
  34.                 if(table[i][j]!= '.' && table[i][j]!='#'){
  35.                     propagate(table,i+1,j,table[i][j]);
  36.                     propagate(table,i,j+1,table[i][j]);
  37.                     propagate(table,i-1,j,table[i][j]);
  38.                     propagate(table,i,j-1,table[i][j]);
  39.                 }
  40.             }
  41.         }
  42.         for(int i=0; i<n; ++i){
  43.             for(int j=0; j<m; ++j){
  44.                 cout<<table[i][j];
  45.             }
  46.             cout<<endl;
  47.         }
  48.         cout<<endl;
  49.     }
  50. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement