标签:des style blog http io ar os sp for
给你一个多边形(用’\’和’/’表示多边形的边),求多边形的面积。
4 4 /\/\../ .\...\/
8
/\/\ // 对于该行第一字符就是‘/’,说明这是左边,第四个字符‘\’是右边, 该行的面积是:半个+半个+半个+半个
\../ // 该行的面积是:半个+1个+1个+半个
.\.\ // 该行的面积是:0 + 半个+1个+半个
..\/ // 该行的面积是:0 + 0 +半个+半个
(4)最后边个的总数别忘了除2 !
代码如下:
#include <iostream> #include <string> #include <stdio.h> #include <string.h> #include <algorithm> using namespace std; char map[200][200]; int main() { int n, m; int i, j, k; int dd; int bn, zh, area; while(scanf("%d %d", &n, &m)!=EOF) { for(i=0; i<n; i++) { scanf("%s", map[i] ); } bn=0; zh=0; area=0; for(i=0; i<n; i++) { j=0; while(map[i][j]==‘.‘ && j<m ) { j++; } if(j==m-1) { continue; } dd=m-1; while(map[i][dd]==‘.‘ && dd>=0 ) { dd--; } for(k=j; k<=dd; k++) { if(map[i][k]==47 || map[i][k]==92 ) { bn++; } else { zh++; } } } area=bn/2+zh; cout<<area<<endl; } return 0; }
标签:des style blog http io ar os sp for
原文地址:http://www.cnblogs.com/yspworld/p/4087893.html