虽然水,但是从基础着手
#include <iostream>
#include <fstream>
#include <string>
#include <cstdio>
using namespace std;
int main()
{
int n ;
int i,j ;
int areas = 0 ;
int lenths = 0 ;
scanf("%d",&n) ;
int **graph1 ;
graph1 = new int*[n] ;
for (i = 0 ; i < n ; ++i)
graph1[i] = new int [n] ;
for (i = 0 ; i < n ; ++i)
{
for (j = 0 ; j < n ; ++j)
{
scanf("%d",&graph1[i][j]) ;
if (graph1[i][j] <= 50)
++areas ;
}
}
for (i = 0 ; i < n ; ++i)
{
for (j = 0 ; j < n ; ++j)
{
if((graph1[i][j]<=50)&&((i==0 || j==0 || i==(n - 1) || j==(n - 1))||((graph1[i - 1][j] > 50)||(graph1[i][j - 1] >50)||(graph1[i+1][j]>50)||(graph1[i][j+1]>50))) )
{
++lenths ;
}
}
}
printf("%d %d\n",areas,lenths) ;
return 0 ;