18:腫瘤面積
查看 提交 統計 提問
總時間限制: 1000ms 記憶體限制: 65536kB
描述
在一個正方形的灰度圖片上,腫瘤是一塊矩形的區域,腫瘤的邊緣所在的像素點在圖片中用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
求問大佬哪錯了,結果都對了就是不過
#include<bits/stdc++.h>
using namespace std;
int a[1005][1005];
int main()
{
int n,b,s,k,f,e,t,c,d;
cin>>n;
for(int i=1;i<=n;i++)
{
for(int j=1;j<=n;j++)
{
cin>>a[i][j];
}
}
k=1;
for(int i=1;i<=n;i++)
{
if(a[i][k]==0)
{
e=i;
f=k;
break;
}
k++;
}
t=n;
for(int j=n;j>=0;j--)
{
if(a[t][j]==0)
{
c=j;
d=t;
break;
}
t--;
}
s=(c-e-1)*(d-f-1);
cout<<s;
return 0;
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/32921.html
標籤:C++ 語言
上一篇:小白求幫助,string宣告的字串這么相加為什么出來的結果顯示字串無效
下一篇:NTFS檔案系統中檔案名是用什么編碼的?會不會Windows和三方Linux寫入檔案名時GBK和UTF-8編碼并存?這樣檔案串列顯示出來不是部分亂碼了?
