#55566: c++ 直接用迴圈暴力掃


61247091s@gapps.ntnu.edu.tw (wei)


#include <bits/stdc++.h>
using namespace std;

int main(){
    int r,c,bomb=0,detect=0;
    int a[20][20];
    cin>>r>>c;
    for(int i=0;i<r;i++){
        for(int j=0;j<c;j++){
            cin>>a[i][j];
            if(a[i][j]==1)bomb++;}
    }
    int dx[8]={1,-1,1,-1,0,0,1,-1};
    int dy[8]={1,-1,-1,1,1,-1,0,0};
    for(int i=0;i<r;i++){
        for(int j=0;j<c;j++){
            if(a[i][j]!=5&&a[i][j]!=2)continue;
            for(int k=0;k<8;k++){
                int next_r=i+dx[k];
                int next_c=j+dy[k];
                if(next_r<0||next_c<0||next_r>=r||next_c>=c)continue;
                if(a[next_r][next_c]==5||a[next_r][next_c]==2){
                    a[i][j]=2;
                    a[next_r][next_c]=2;break;
                }
            }
        }
    }
    for(int i=0;i<r;i++){
        for(int j=0;j<c;j++){
            if(a[i][j]!=5)continue;
            for(int k=0;k<8;k++){
                int next_r=i+dx[k];
                int next_c=j+dy[k];
                if(next_r<0||next_c<0||next_r>=r||next_c>=c)continue;
                if(a[next_r][next_c]==1){
                    a[next_r][next_c]=0;detect++;
                }
            }
        }
    }
    cout<<detect<<" "<<bomb-detect<<endl;
    return 0;
}