原POJ 2713 肿瘤面积

描述

在一个正方形的灰度图片上,肿瘤是一块矩形的区域,肿瘤的边缘所在的像素点在图片中用0表示。其它肿瘤内和肿瘤外的点都用255表示。现在要求你编写一个程序,计算肿瘤内部的像素点的个数(不包括肿瘤边缘上的点)。已知肿瘤的边缘平行于图像的边缘。

输入

只有一个测试样例。第一行有一个整数n,表示正方形图像的边长。其后n行每行有n个整数,取值为0或255。整数之间用一个空格隔开。已知n不大于1000。

输出

输出一行,该行包含一个整数,为要求的肿瘤内的像素点的个数。

样例输入

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
 1 #include<cstdio>
 2
 3 const int maxn = 1000+5;
 4 int pic[maxn][maxn];
 5
 6 int main() {
 7     int n, begin[2], end[2], t=0;
 8     scanf("%d",&n);
 9     for(int i=0; i<n; i++)
10         for(int j=0; j<n; j++)
11             scanf("%d", &pic[i][j]);
12     for(int i=0; i<n; i++){
13         if(t) break;
14         for(int j=0; j<n; j++) {
15             if(!pic[i][j]) {
16                 begin[0]=i;
17                 begin[1]=j;
18                 t=1;
19                 break;
20             }
21         }
22     }
23     for(int i=n-1; i>=0; i--) {
24         if(!t) break;
25         for(int j=n-1; j>=0; j--) {
26             if(!pic[i][j]) {
27                 end[0]=i;
28                 end[1]=j;
29                 t=0;
30                 break;
31             }
32         }
33     }
34     int s=(end[0]-begin[0]-1)*(end[1]-begin[1]-1);
35     printf("%d\n" ,s);
36     return 0;
37 }

有个细节:比较大的数组尽量声明在main函数外,因为 main()里面用的是程序的栈,WINDOWS栈空间为1M,即1024*1024=1048576字节 。

这题也很水,不过由于数据录入过多,不能用iostream,否则超时
时间: 2024-08-24 21:28:43

原POJ 2713 肿瘤面积的相关文章

原 poj 2677:肿瘤检测

描述 一张CT扫描的灰度图像可以用一个N*N(0 < N < 100)的矩阵描述,矩阵上的每个点对应一个灰度值(整数),其取值范围是0-255.我们假设给定的图像中有且只有一个肿瘤.在图上监测肿瘤的方法如下:如果某个点对应的灰度值小于等于50,则这个点在肿瘤上,否则不在肿瘤上.我们把在肿瘤上的点的数目加起来,就得到了肿瘤在图上的面积.任何在肿瘤上的点,如果它是图像的边界或者它的上下左右四个相邻点中至少有一个是非肿瘤上的点,则该点称为肿瘤的边界点.肿瘤的边界点的个数称为肿瘤的周长.现在给定一个图

百练2713:肿瘤面积

总时间限制:  1000ms 内存限制:  65536kB 描述 在一个正方形的灰度图片上,肿瘤是一块矩形的区域,肿瘤的边缘所在的像素点在图片中用0表示.其它肿瘤内和肿瘤外的点都用255表示.现在要求你编写一个程序,计算肿瘤内部的像素点的个数(不包括肿瘤边缘上的点).已知肿瘤的边缘平行于图像的边缘. 输入 只有一个测试样例.第一行有一个整数n,表示正方形图像的边长.其后n行每行有n个整数,取值为0或255.整数之间用一个空格隔开.已知n不大于1000. 输出 输出一行,该行包含一个整数,为要求的

poj 1265 Area 面积+多边形内点数

Area Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 5861   Accepted: 2612 Description Being well known for its highly innovative products, Merck would definitely be a good target for industrial espionage. To protect its brand-new resear

poj 3348(凸包面积)

Cows Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 8063   Accepted: 3651 Description Your friend to the south is interested in building fences and turning plowshares into swords. In order to help with his overseas adventure, they are f

原POJ 2767 简单密码

描述Julius Caesar曾经使用过一种很简单的密码.对于明文中的每个字符,将它用它字母表中后5位对应的字符来代替,这样就得到了密文.比如字符A用F来代替.如下是密文和明文中字符的对应关系. 密文A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 明文V W X Y Z A B C D E F G H I J K L M N O P Q R S T U 你的任务是对给定的密文进行解密得到明文. 你需要注意的是,密文中出现的字母都是大写字母.

oj---poj2713:肿瘤面积

#include<cstdio> int map[1005][1005]; int main(){ int n; scanf("%d",&n); int stflag=0,edflag=0; int sti,stj,edi,edj=0; for(int i=0;i<n;i++){ for(int j=0;j<n;j++){ scanf("%d",&map[i][j]); if(map[i][j]==0&&!st

POJ 3348 Cows 凸包 求面积

LINK 题意:给出点集,求凸包的面积 思路:主要是求面积的考察,固定一个点顺序枚举两个点叉积求三角形面积和除2即可 /** @Date : 2017-07-19 16:07:11 * @FileName: POJ 3348 凸包面积 叉积.cpp * @Platform: Windows * @Author : Lweleth ([email protected]) * @Link : https://github.com/ * @Version : $Id$ */ #include <std

noi题库(noi.openjudge.cn) 1.8编程基础之多维数组T11——T20

T11 图像旋转 描述 输入一个n行m列的黑白图像,将它顺时针旋转90度后输出. 输入 第一行包含两个整数n和m,表示图像包含像素点的行数和列数.1 <= n <= 100,1 <= m <= 100.接下来n行,每行m个整数,表示图像的每个像素点灰度.相邻两个整数之间用单个空格隔开,每个元素均在0~255之间. 输出 m行,每行n个整数,为顺时针旋转90度后的图像.相邻两个整数之间用单个空格隔开. 样例输入 3 3 1 2 3 4 5 6 7 8 9 样例输出 7 4 1 8 5

图像显著性论文(一)—A Model of saliency Based Visual Attention for Rapid Scene Analysis

这篇文章是图像显著性领域最具代表性的文章,是在1998年Itti等人提出来的,到目前为止引用的次数超过了5000,是多么可怕的数字,在它的基础上发展起来的有关图像显著性论文更是数不胜数,论文的提出主要是受到灵长类动物早期视觉系统的神经结构和行为所启发而产生了视觉注意系统.灵长类动物具有很强的实时处理复杂场景的能力,视觉信息进行深入的处理之前,对所收集到的感觉信息进行选择,这些选择可能减少场景理解的复杂性,这个选择过程在一个空间有限的视野区域即所谓的注意焦点(focus of attention,