阿里巴巴网站怎么做全屏大图网站建设费用包括哪些内容
阿里巴巴网站怎么做全屏大图,网站建设费用包括哪些内容,贵州城乡建设厅施工员报名网站,网文网站题目#xff1a;
如图6-8所示#xff0c;可以用四分树来表示一个黑白图像#xff0c;方法是用根结点表示整幅图像#xff0c;然后把行列个分城两等分#xff0c;按照图中的方式编号#xff0c;从左到右对应4个子结点。如果某子结点对应的取余全白或全黑#xff0c;则直…题目
如图6-8所示可以用四分树来表示一个黑白图像方法是用根结点表示整幅图像然后把行列个分城两等分按照图中的方式编号从左到右对应4个子结点。如果某子结点对应的取余全白或全黑则直接用一个黑结点或者白结点表示如果即有黑又有白则用一个灰结点表示并且为这个区域递归建树。
给出两棵四分树的先序遍历求二者合并之后黑色部分合并黑色像素的个数。p表示中间结点f表示黑色fulle表示白色empty。
每个图的大小都为32*32输出黑色块的个数。
分析与解答
1.输入字符串然后调用函数 2.函数中遇见p就模拟建树这个题用到了利用坐标的技巧来分割区域 行 Row 列 Column
3.注意你遍历涂色时候是根据黑色坐标的范围来对大矩阵赋值的所以他每次调用传递坐标传递w。 #includecstdio
#includecstringconst int len 32;
const int maxn 1024 10;
char s[maxn];
int buf[len][len], cnt;// 把字符串s[p..]导出到以(r,c)为左上角边长为w的缓冲区中
// 2 1
// 3 4
void draw(const char* s, int p, int r, int c, int w) {char ch s[p];if(ch p) {draw(s, p, r, cw/2, w/2); // 1draw(s, p, r, c , w/2); // 2draw(s, p, rw/2, c , w/2); // 3draw(s, p, rw/2, cw/2, w/2); // 4} else if(ch f) { // 画黑像素白像素不画for(int i r; i rw; i)for(int j c; j cw; j)if(buf[i][j] 0) { buf[i][j] 1; cnt; }}
}int main() {int T;scanf(%d, T);while(T--) {memset(buf, 0, sizeof(buf));cnt 0;for(int 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;
}
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/91865.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!