行业资讯
📅 2026/8/11 3:08:06
2022年CSP-J初赛真题及答案解析(完善程序2)
2022年CSP-J初赛真题及答案解析(完善程序2)第 2 题 完善程序洪水填充现有用字符标记像素颜色的 8×88×8 图像。颜色填充的操作描述如下给定起始像素的位置待填充的颜色将起始像素和所有可达的像素可达的定义经过一次或多次的向上、下、左、右四个方向移动所能到达且终点和路径上所有像素的颜色都与起始像素颜色相同替换为给定的颜色。试补全程序。#includebits/stdc.husingnamespacestd;constintROWS8;constintCOLS8;structPoint{intr,c;Point(intr,intc):r(r),c(c){}};boolis_valid(charimage[ROWS][COLS],Point pt,intprev_color,intnew_color){intrpt.r;intcpt.c;return(0rrROWS0ccCOLS①image[r][c]!new_color);}voidflood_fill(charimage[ROWS][COLS],Point cur,intnew_color){queuePointqueue;queue.push(cur);intprev_colorimage[cur.r][cur.c];②;while(!queue.empty()){Point ptqueue.front();queue.pop();Point points[4]{③,Point(pt.r-1,pt.c),Point(pt.r,pt.c1),Point(pt.r,pt.c-1)};for(autop:points){if(is_valid(image,p,prev_color,new_color)){④;⑤;}}}}intmain(){charimage[ROWS][COLS]{{g,g,g,g,g,g,g,g},{g,g,g,g,g,g,r,r},{g,r,r,g,g,r,g,g},{g,b,b,b,b,r,g,r},{g,g,g,b,b,r,g,r},{g,g,g,b,b,b,b,r},{g,g,g,g,g,b,g,g},{g,g,g,g,g,b,b,g}};Pointcur(4,4);charnew_colory;flood_fill(image,cur,new_color);for(intr0;rROWS;r){for(intc0;cCOLS;c){coutimage[r][c];}coutendl;}//输出:// g g g g g g g g// g g g g g g r r// g r r g g r g g// g y y y y r g r// g g g y y r g r// g g g y y y y r// g g g g g y g g// g g g g g y y greturn0;}①~⑤处应填 A. image[r][c] prev_colorB. image[r][c] ! prev_colorC. image[r][c] new_colorD. image[r][c] ! new_colorA. image[cur.r1][cur.c] new_colorB. image[cur.r][cur.c] new_colorC. image[cur.r][cur.c1] new_colorD. image[cur.r][cur.c] prev_colorA. Point(pt.r, pt.c)B. Point(pt.r, pt.c1)C. Point(pt.r1, pt.c)D. Point(pt.r1, pt.c1)A. prev_color image[p.r][p.c]B. new_color image[p.r][p.c]C. image[p.r][p.c] prev_colorD. image[p.r][p.c] new_colorA. queue.push( p)B. queue.push(pt)C. queue.push(cur)D. queue.push(Point(ROWS, COLS))答案ABCDA解析洪水填充is_valid 判断像素颜色等于原始颜色且不等于新颜色故①为image[r][c] prev_color。开始填充前先把起始点颜色改为新颜色故②为image[cur.r][cur.c] new_color。四个方向包括上、下、左、右数组 points 的第一个应为下行1即Point(pt.r1, pt.c)故③选 C。每访问一个有效点将其颜色改为新颜色故④为image[p.r][p.c] new_color然后入队⑤为queue.push(p)。更多内容请关注专栏信奥赛C普及组csp-j初赛复赛真题题解持续更新https://blog.csdn.net/weixin_66461496/category_12808781.html 点击跳转【秘籍汇总】完整csp信奥赛C学习资料1、csp/信奥赛C完整信奥赛系列课程永久学习https://edu.csdn.net/lecturer/7901 点击跳转2、CSP信奥赛C竞赛拿奖视频课https://edu.csdn.net/course/detail/40437 点击跳转https://edu.csdn.net/course/detail/41081 点击跳转3、csp信奥赛高频考点知识详解及案例实践CSP信奥赛C动态规划https://blog.csdn.net/weixin_66461496/category_13096895.html点击跳转CSP信奥赛C标准模板库STLhttps://blog.csdn.net/weixin_66461496/category_13108077.html 点击跳转信奥赛C提高组csp-s知识详解及案例实践https://blog.csdn.net/weixin_66461496/category_13113932.html 点击跳转4、csp信奥赛冲刺一等奖有效刷题题解信奥赛C普及组CSP-J一等奖通关刷题题单及题解https://blog.csdn.net/weixin_66461496/category_12673810.html 点击跳转信奥赛C普及组csp-j初赛复赛真题题解持续更新https://blog.csdn.net/weixin_66461496/category_12808781.html 点击跳转信奥赛C提高组csp-s初赛复赛真题题解持续更新https://blog.csdn.net/weixin_66461496/category_13125089.html 点击跳转5、GESP C考级真题题解GESP(C 一级二级三级)真题题解持续更新https://blog.csdn.net/weixin_66461496/category_12858102.html 点击跳转GESP(C 四级五级六级)真题题解持续更新https://blog.csdn.net/weixin_66461496/category_12869848.html 点击跳转GESP(C 七级八级)真题题解持续更新https://blog.csdn.net/weixin_66461496/category_13117178.html 点击跳转· 文末祝福 ·#includebits/stdc.husingnamespacestd;intmain(){cout跟着王老师一起学习信奥赛C;cout 成就更好的自己 ;cout csp信奥赛一等奖属于你! ;return0;}