POJ 2713 肿瘤面积 解题报告

POJ 2713 肿瘤面积 解题报告

编号:2713

 

考查点:简单计算题

 

思路: 发现肿瘤的形状是个被0包围的矩形,根据0的位置计算出肿瘤的长宽相乘即可,知道第一个0和最后一个0的位置就可以算出,边聊天边想终于整了个不用数组的方法,很一般的方法.

 

提交情况: 用数组做很容易AC,后来改了方法,WA了几次,都小问题

 

Source Code

 


//POJ Grids 2713
#include <iostream>
using namespace std;

int main()
{
    
int n;cin>>n;
    
int temp = 0;
    
int x = 0;
    
int y = 0;
    
int m = 0;
    
int s = 0;
    
bool flag = false;
    
for (int i=0;i<n;i++)
    {
        
for (int j=0;j<n;j++)
        {
            cin
>>temp;
            
if (temp==0&&!flag)
            {
                x 
= i;
                y 
= j;
                flag 
= true;
            }
            
if (temp==0&&flag)
            {
                m 
= i-x;
                s 
= j-y;
            }
        }
    }
    cout
<<(m-1)*(s-1)<<endl;

    
return 0;
}

总结: 怎么感觉很不爽,是不是有更好的方法?

 

                                                       By   Ns517

                                                      Time 09.02.24

posted @ 2009-02-24 22:02  端木  阅读(1275)  评论(1编辑  收藏  举报