标签:pac ble first 静态 时间 提示 bsp ++ 坐标
在一个正方形的灰度图片上,肿瘤是一块矩形的区域,肿瘤的边缘所在的像素点在图片中用0表示。其它肿瘤内和肿瘤外的点都用255表示。现在要求你编写一个程序,计算肿瘤内部的像素点的个数(不包括肿瘤边缘上的点)。已知肿瘤的边缘平行于图像的边缘。
5 255 255 255 255 255 255 0 0 0 255 255 0 255 0 255 255 0 0 0 255 255 255 255 255 255
1
#include <cstdio> #define N 1002 using namespace std; int g[N][N]; bool mark[N][N]; struct node{ int x,y; }; /* 5 0 0 0 0 0 0 255 255 255 0 0 255 255 255 0 0 0 0 0 0 255 255 255 255 255 (*/ int sum; int main(){ int n; scanf("%d",&n); node s; bool first = true; for(int i = 0;i < n;i++) for(int j = 0;j < n;j++){ scanf("%d",&g[i][j]); } sum = 0; for(int i = 0;i < n;i++) for(int j = 0;j < n;j++){ if(mark[i][j] == 0 && g[i][j] == 0){ int right,down; right = down = n - 1; for(int p = j;p < n;p++){ if(g[i][p] == 0) mark[i][p] = 1; else{ right = p-1; break; } } for(int q = i;q < n;q++){ if(g[q][j] == 0){ mark[q][j] = 1; mark[q][right] = 1; }else{ down = q-1; break; } } for(int p = j;p < right;p++){ mark[down][p] = 1; } sum += (right-j-1) * (down-i-1); } } printf("%d",sum); }
标签:pac ble first 静态 时间 提示 bsp ++ 坐标
原文地址:http://www.cnblogs.com/starryxsky/p/7101829.html