Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- using namespace std;
- int obiecte;
- int n,m;
- int viz[100][100];
- int v[101][101];
- double expRapida(double x, int n){
- double p=1;
- while(n){
- if(n%2)
- {
- p*=x;
- n--;
- }
- x=x*x;
- n/=2;
- }
- return p;
- }
- void umple(int v[101][101], int i, int j){
- v[i][j] = 0;
- if(v[i+1][j]){
- v[i+1][j] = 0;
- umple(v, i+1, j);
- }
- if(v[i-1][j]){
- v[i-1][j] = 0;
- umple(v, i-1, j);
- }
- if(v[i][j+1]){
- v[i][j+1] = 0;
- umple(v, i, j+1);
- }
- if(v[i][j-1]){
- v[i][j-1] = 0;
- umple(v, i, j-1);
- }
- }
- int main() {
- // your code goes here
- cin>>m>>n;
- for(int i=1; i<=m; i++)
- for(int j=1; j<=n; j++)
- cin>>v[i][j];
- for(int i=1; i<=m; i++)
- for(int j=0; j<=n; j++)
- if(v[i][j] == 1)
- {
- obiecte++;
- umple(v,i,j);
- }
- for(int i=1; i<=m; i++)
- {
- for(int j=1; j<=n; j++)
- cout<<v[i][j]<<" ";
- cout<<endl;
- }
- cout<<obiecte;
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement