首页 > 代码库 > UVa 297
UVa 297
#include <cstdio>#include <cstring>const int len = 32;const int maxn = 1024 + 10;char s[maxn];int buf[len][len], cnt;void draw(const char* s, int& p, int r, int c, int w){ char ch = s[p++]; if(ch == ‘p‘) { draw(s, p, r, c+w/2, w/2); draw(s, p, r, c, w/2); draw(s, p, r+w/2, c, w/2); draw(s, p, r+w/2, c+w/2, w/2); } else if(ch == ‘f‘) { int i, j; for(i = r; i < r+w; ++i) for(j = c; j < c+w; ++j) if(buf[i][j] == 0) { buf[i][j] = 1; cnt++; } }}int main(void){ //freopen("in.txt", "r", stdin); int T; scanf("%d", &T); while(T--) { memset(buf, 0, sizeof(0)); cnt = 0; int i; for(i = 0; i < 2; ++i) { scanf("%s", s); int p = 0; draw(s, p, 0, 0, len); } } printf("There are %d black pixels.\n", cnt); return 0;}
UVa 297
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。