0
点赞
收藏
分享

微信扫一扫

sdutoj 3011 数格子算面积


数格子算面积




Time Limit: 1000ms   Memory limit: 262144K  有疑问?点这里^_^


题目描述


给你一个多边形(用’\’和’/’表示多边形的边),求多边形的面积。



sdutoj  3011   数格子算面积_Memory



输入


第一行两个正整数 h  和   w (2 ≤ h, w ≤ 100),h 是多边形所在平面的高 ,w 是多边形所在平面的宽 , 接下来 h 行 , 每行 w 个字符 , 描述了整个平面的每个单元 ( 每个单元是一个单位面积 ), 字符只会是 ’ \’,’/’ 和 ’ .’ 其中之一,’\’,’/’ 表示多边形的边,’.’ 表示空白单元 。


输出


输出一个数 , 输入代表的平面内多边形的单位面积 。


示例输入


4 4 /\/\ \../ .\.\ ..\/


示例输出


8


提示


 


来源


青岛理工交流赛


示例程序





#include<iostream>
#include<algorithm>
#include<string.h>
#include<stdio.h>
#include<string>

using namespace std;

int main()
{
    int n,m;
    int sum = 0;
    char a[110][110];
    while(cin >> n >> m)
    {
        sum = 0;
        int nn = 0;
        for(int i=0;i<n;i++)
        {
            int flag = 0;
            cin >> a[i];
            for(int j=0;a[i][j]!='\0';j++)
            {
                if(a[i][j] == '\\' || a[i][j] == '/')
                {
                    if(flag == 0)
                    {
                        flag = 1;
                    }
                    else
                    {
                        flag = 0;
                    }
                    nn++;
                }
                else if(a[i][j] == '.' && flag == 1)
                {
                    sum += 1;
                }
            }

        }
        //printf("sum = %d    nn = %d\n",sum,nn);
        printf("%d\n",nn/2+sum);
    }
    return 0;
}



举报

相关推荐

0 条评论