打卡信奥刷题(3097)用C++实现信奥题 P7185 [CRCI2008-2009] CIJEVI

张开发
2026/4/12 10:06:41 15 分钟阅读

分享文章

打卡信奥刷题(3097)用C++实现信奥题 P7185 [CRCI2008-2009] CIJEVI
P7185 [CRCI2008-2009] CIJEVI题目描述为了帮助设计天然气管道克罗地亚和莫斯科正在使用电脑游戏「管道狂热」。在游戏中欧洲分为R RR行和C CC列。每个单元格可以为空也可以包含七个基本管道构建块之一气体可以通过构建块沿任一方向流动。 构建块的特殊之处在于气体必须沿两个方向一个垂直方向一个水平方向流动如以下示例所示当黑客从计划中删除了一个构建块时但新管道已经开始投入使用。编写一个程序确定被删除构建块的位置和它的类型。输入格式第一行两个整数R RR和C CC表示欧洲的面积。接下来R RR行表示该计划字符有. 表示空单元格|-1234表示构件类型见图1 11M表示莫斯科。Z表示克罗地亚。数据保证M和Z仅出现一次。莫斯科和克罗地亚的每一个都将恰好有一个构建块。 此外该计划将没有冗余构建块即在添加丢失的块之后必须使用计划中的所有块。输入将保证解决方案存在并且是唯一的。输出格式输出被擦除块的行和列以及块的类型输入中的7 77个字符|-1234之一。输入输出样例 #1输入 #13 7 ....... .M-.-Z. .......输出 #12 4 -输入输出样例 #2输入 #23 5 ..1-M 1-.. Z.23.输出 #22 4 4输入输出样例 #3输入 #36 10 Z.1----4.. |.|....|.. |..14..M.. 2-4.... ..2323.... ..........输出 #33 3 |说明/提示数据规模及约定对于100 % 100\%100%的数据1 ≤ R , C ≤ 25 1 \le R, C \le 251≤R,C≤25。说明本题满分70 7070分。Subtask 1 为 hack 数据不计分。本题译自 COCI2008-2009 CRCI2008-2009 CIJEVI译者 tearing。2023.11.17 添加一组 hack 数据。2024.02.16 再添加一组 hack 数据。C实现#includeiostream#includecstdiousingnamespacestd;charch[26][26],tmp;intn,m,tot;intmain(){scanf(%d%d,n,m);for(inti1;in;i)scanf(%s,ch[i]1);for(inti1;in;i)for(intj1;jm;j){if(ch[i][j]!.)continue;tot0;tmpch[i-1][j];if(tmp||tmp|||tmp1||tmp4)tot1;tmpch[i1][j];if(tmp||tmp|||tmp2||tmp3)tot4;tmpch[i][j-1];if(tmp||tmp-||tmp1||tmp2)tot8;tmpch[i][j1];if(tmp||tmp-||tmp3||tmp4)tot2;if(tot){printf(%d %d ,i,j);if(tot10)puts(-);elseif(tot5)puts(|);elseif(tot15)puts();elseif(tot6)puts(1);elseif(tot3)puts(2);elseif(tot9)puts(3);elseputs(4);return0;}}return0;}后续接下来我会不断用C来实现信奥比赛中的算法题、GESP考级编程题实现、白名单赛事考题实现记录日常的编程生活、比赛心得感兴趣的请关注我后续将继续分享相关内容

更多文章