#include "stdafx.h"
#include<iostream>//超时的版本
#include<math.h>
#include<string>
#include<vector>
using namespace std;
typedef pair<int, int> POINT;
bool is_in_Vector(vector<POINT>v, POINT ele) {
vector<POINT>::iterator it;
it = find(v.begin(), v.end(), ele);
if (it != v.end()) {
return 1;
}
else {
return 0;
}
}
int main() {
int n = 0;
while (cin >> n) {
int pic[100][100];
vector<POINT>index;
int s = 0;
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
cin >> pic[i][j];
if (pic[i][j] <= 50) {
s += 1;
POINT p(i, j);
index.push_back(p);
}
}
}
cout << s << " ";
int l = 0;
for (int i = 0; i < index.size(); i++) {
if (index[i].first == 0 || index[i].first == n - 1 || index[i].second == 0 || index[i].second == n - 1) {
l += 1;
continue;
}
else {
POINT p_up(index[i].first - 1, index[i].second);
POINT p_down(index[i].first + 1, index[i].second);
POINT p_left(index[i].first, index[i].second - 1);
POINT p_right(index[i].first, index[i].second + 1);
if ((!is_in_Vector(index, p_up)) || (!is_in_Vector(index, p_down) )|| (!is_in_Vector(index, p_left))
|| (!is_in_Vector(index, p_right))) {
l += 1;
continue;
}
}
}
cout << l << endl;
}
}
#include<iostream>
#include<math.h>
#include<cstring>
#include<vector>
#include<algorithm>
using namespace std;
int main() {
int n = 0;
cin >> n;
int pic[102][102];
memset(pic, 100, sizeof(pic));
for (int i = 1; i <= n; i++) {
for (int j = 1; j <= n; j++) {
cin >> pic[i][j];
}
}
int s = 0;
int l = 0;
for (int i = 1; i <= n; i++) {
for (int j = 1; j <= n; j++) {
if (pic[i][j] <= 50) {
s += 1;
if (pic[i - 1][j] > 50 || pic[i][j - 1] > 50 || pic[i + 1][j] > 50 || pic[i][j + 1] > 50) {
l++;
}
}
}
}
printf("%d %d",s,l);
return 0;
}