打卡信奥刷题(3079)用C++实现信奥题 P7049 [NWRRC 2015] Black and White

张开发
2026/5/3 17:11:04 15 分钟阅读
打卡信奥刷题(3079)用C++实现信奥题 P7049 [NWRRC 2015] Black and White
P7049 [NWRRC 2015] Black and White题目描述陪审团有一个很棒的艺术创意——用一大堆相同大小的黑白方块创建一个矩形面板。面板应该有恰好bbb个 4-连通的黑色区域和www个 4-连通的白色区域。请记住一个颜色的 4-连通区域是面板方块的一个极大集合使得任何两个区域的方块颜色相同对于区域的任何两个方块都存在一个连接它们的方块序列使得序列中的任何两个连续方块共享一个公共边。除了这个艺术创意陪审团已经开发了一个程序来生成面板的设计。但由于这个问题涉及艺术任何新的解决方案对陪审团来说都极其重要。输入格式输入文件的唯一一行包含两个整数bbb和www——黑色和白色区域的数量(1≤b,w≤1000)(1 \le b , w \le 1000)(1≤b,w≤1000)。输出格式输出文件的第一行应包含图片的尺寸rrr和ccc——行数和列数(1≤r,c≤100000)(1 \le r , c \le 100 000)(1≤r,c≤100000)。接下来的rrr行中每行应包含ccc个符号。每个符号应为 ‘’表示黑色方块或 ‘.’表示白色方块。面板中的方块数量不应超过100000100 000100000。输入输出样例 #1输入 #12 3输出 #16 7 . ... ....... 说明/提示时间限制2 秒内存限制256 MB。题面翻译由 ChatGPT-4o 提供。C实现#includebits/stdc.husingnamespacestd;intmain(){intw,b;cinwb;cout(min(w,b)-1)*21(max(w,b)-min(w,b)1)*2 2endl;while(w!0orb!0){if(bw){while(w1andb1){coutendl;b--;cout..endl;w--;}if(w1){w--;coutendl;while(b!0){cout.endl;coutendl;b--;}}}else{while(w1andb1){cout..endl;w--;coutendl;b--;}if(b1){b--;cout..endl;while(w!0){cout.endl;cout..endl;w--;}}}}return0;}后续接下来我会不断用C来实现信奥比赛中的算法题、GESP考级编程题实现、白名单赛事考题实现记录日常的编程生活、比赛心得感兴趣的请关注我后续将继续分享相关内容

更多文章