Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<iostream>
- #include<algorithm>
- using namespace std;
- # define MAX 1005
- int v[MAX][MAX];
- int u=0;
- int x,y;
- void near(int a,int b){
- if(v[a-1][b] == 1 && a > 0){
- v[a-1][b] = 0;
- u--;
- near(a-1,b);
- }
- if(v[a+1][b] == 1){
- v[a+1][b] = 0;
- u--;
- near(a+1,b);
- }
- if(v[a][b-1] == 1 && b > 0){
- v[a][b-1] = 0;
- u--;
- near(a,b-1);
- }
- if(v[a][b+1] == 1){
- v[a][b+1] = 0;
- u--;
- near(a,b+1);
- }
- }
- int main(){
- cin>>x>>y;
- int z;
- cin>>z;
- for(int i=0;i<x;i++){
- for(int j=0;j<y;j++){
- cin>>v[i][j];
- if(v[i][j] == 1){
- u++;
- }
- }
- }
- for(int y=0;y<z;y++){
- int a,b;
- cin>>a>>b;
- if(v[a-1][b-1] == 0){
- cout<<u<<endl;
- }
- else if(v[a-1][b-1] == 1){
- v[a-1][b-1] = 0;
- u--;
- near(a-1,b-1);
- cout<<u<<endl;
- }
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement