Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <vector>
- using namespace std;
- typedef vector<char> Vec;
- typedef vector<Vec> Matrix;
- void propagate(Matrix& table, int x, int y, char c){
- if(table[x][y]!='#'){
- if(table[x][y]!= c){
- table[x][y]=c;
- propagate(table,x+1,y,c);
- propagate(table,x,y+1,c);
- propagate(table,x-1,y,c);
- propagate(table,x,y-1,c);
- }
- }
- }
- int main(){
- int n,m;
- while(cin>>n){
- cin>>m;
- Matrix table(n,Vec(m));
- for(int i=0; i<n;++i){
- for(int j=0; j<m; ++j){
- cin>>table[i][j];
- }
- }
- for(int i=0; i<n;++i){
- for(int j=0; j<m; ++j){
- if(table[i][j]!= '.' && table[i][j]!='#'){
- propagate(table,i+1,j,table[i][j]);
- propagate(table,i,j+1,table[i][j]);
- propagate(table,i-1,j,table[i][j]);
- propagate(table,i,j-1,table[i][j]);
- }
- }
- }
- for(int i=0; i<n; ++i){
- for(int j=0; j<m; ++j){
- cout<<table[i][j];
- }
- cout<<endl;
- }
- cout<<endl;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement