题意:
就是用一个字符矩阵代表一个闭合的阴影部分,然后求阴影部分的面积。
分析:
一个‘/‘和‘\‘字符都代表半个小方块的面积。
关键就是判断‘.‘是否属于阴影部分,这才是本题的关键。
从第一列开始,从上到下扫面‘/‘和‘\‘字符的个数,如果是奇数,则‘.‘属于阴影部分,阴影面积加一。
1 #include <cstdio> 2 3 const int maxn = 100 + 10; 4 char map[maxn][maxn]; 5 6 int main() 7 { 8 //freopen("in.txt", "r", stdin); 9 int h, w; 10 while(scanf("%d%d", &h, &w) == 2) 11 { 12 for(int i = 0; i < h; ++i) scanf("%s", map[i]); 13 int cnt = 0; 14 bool flag = false; 15 for(int i = 0; i < w; ++i) 16 for(int j = 0; j < h; ++j) 17 { 18 if(map[j][i] == ‘/‘ || map[j][i] == ‘\\‘) 19 { 20 cnt++; 21 flag = !flag; 22 } 23 else if(flag) cnt += 2; 24 } 25 26 printf("%d\n", cnt / 2); 27 } 28 29 return 0; 30 }
代码君
时间: 2024-11-10 13:58:34