您的位置:首页 > 其它

UVa 1641 - ASCII Area

2015-03-19 13:26 260 查看
每行'\'和‘/’构成的图形都可以用 (上底 + 下底) * 1 / 2 来算。

#include <iostream>
#include <cstring>
#include <string>

#define MAXN 102

using namespace std;

string block[MAXN];

void clear_string() {
for(int i = 0; i < MAXN; i++)
block[i].clear();
}

int main() {
int h, w;
while(cin >> h >> w) {
clear_string();
int sum = 0;
for(int i = 0; i < h; i++)
cin >> block[i];
for(int i = 0; i < h; i++) {
bool ok = false;
int ub = 0, db = 0;
for(int j = 0; j < w; j++) {
if(block[i][j] == '\\') {
ub++;
ok = !ok;
}
else if(block[i][j] == '/') {
db++;
ok = !ok;
}
if(ok&& block[i][j] == '.')
{ub++; db++;}
}
sum += (ub + db) / 2;
}
cout << sum << endl;
}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: