UVa 1641 ASCII Area

时间:2022-07-25 18:46:29

题意:

就是用一个字符矩阵代表一个闭合的阴影部分,然后求阴影部分的面积。

分析:

一个'/'和'\'字符都代表半个小方块的面积。

关键就是判断'.'是否属于阴影部分,这才是本题的关键。

从第一列开始,从上到下扫面'/'和'\'字符的个数,如果是奇数,则'.'属于阴影部分,阴影面积加一。

 #include <cstdio>

 const int maxn =  + ;
char map[maxn][maxn]; int main()
{
//freopen("in.txt", "r", stdin);
int h, w;
while(scanf("%d%d", &h, &w) == )
{
for(int i = ; i < h; ++i) scanf("%s", map[i]);
int cnt = ;
bool flag = false;
for(int i = ; i < w; ++i)
for(int j = ; j < h; ++j)
{
if(map[j][i] == '/' || map[j][i] == '\\')
{
cnt++;
flag = !flag;
}
else if(flag) cnt += ;
} printf("%d\n", cnt / );
} return ;
}

代码君