当前位置: 首页 > news >正文

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

P7185 [CRCI2008-2009] CIJEVI

题目描述

为了帮助设计天然气管道,克罗地亚和莫斯科正在使用电脑游戏「管道狂热」。

在游戏中,欧洲分为R RR行和C CC列。每个单元格可以为空,也可以包含七个基本管道构建块之一:


气体可以通过构建块沿任一方向流动。 构建块+的特殊之处在于气体必须沿两个方向(一个垂直方向,一个水平方向)流动,如以下示例所示:

当黑客从计划中删除了一个构建块时,但新管道已经开始投入使用。

编写一个程序,确定被删除构建块的位置和它的类型。

输入格式

第一行,两个整数R RRC CC,表示欧洲的面积。

接下来,R RR行,表示该计划,字符有:

  • ., 表示空单元格
  • |-+1234,表示构件类型(见图1 11);
  • M,表示莫斯科。
  • Z,表示克罗地亚。

数据保证MZ仅出现一次。

莫斯科和克罗地亚的每一个都将恰好有一个构建块。 此外,该计划将没有冗余构建块,即在添加丢失的块之后必须使用计划中的所有块。

输入将保证解决方案存在并且是唯一的。

输出格式

输出被擦除块的行和列,以及块的类型(输入中的7 77个字符|-+1234之一)。

输入输出样例 #1

输入 #1

3 7 ....... .M-.-Z. .......

输出 #1

2 4 -

输入输出样例 #2

输入 #2

3 5 ..1-M 1-+.. Z.23.

输出 #2

2 4 4

输入输出样例 #3

输入 #3

6 10 Z.1----4.. |.|....|.. |..14..M.. 2-+++4.... ..2323.... ..........

输出 #3

3 3 |

说明/提示

数据规模及约定

对于100 % 100\%100%的数据,1 ≤ R , C ≤ 25 1 \le R, C \le 251R,C25

说明
  • 本题满分70 7070分。
  • Subtask 1 为 hack 数据,不计分。
  • 本题译自 COCI2008-2009 CRCI2008-2009 CIJEVI,译者 @tearing。
  • 2023.11.17 添加一组 hack 数据。
  • 2024.02.16 再添加一组 hack 数据。

C++实现

#include<iostream>#include<cstdio>usingnamespacestd;charch[26][26],tmp;intn,m,tot;intmain(){scanf("%d%d",&n,&m);for(inti=1;i<=n;i++)scanf("%s",ch[i]+1);for(inti=1;i<=n;i++)for(intj=1;j<=m;j++){if(ch[i][j]!='.')continue;tot=0;tmp=ch[i-1][j];if(tmp=='+'||tmp=='|'||tmp=='1'||tmp=='4')tot+=1;tmp=ch[i+1][j];if(tmp=='+'||tmp=='|'||tmp=='2'||tmp=='3')tot+=4;tmp=ch[i][j-1];if(tmp=='+'||tmp=='-'||tmp=='1'||tmp=='2')tot+=8;tmp=ch[i][j+1];if(tmp=='+'||tmp=='-'||tmp=='3'||tmp=='4')tot+=2;if(tot){printf("%d %d ",i,j);if(tot==10)puts("-");elseif(tot==5)puts("|");elseif(tot==15)puts("+");elseif(tot==6)puts("1");elseif(tot==3)puts("2");elseif(tot==9)puts("3");elseputs("4");return0;}}return0;}

后续

接下来我会不断用C++来实现信奥比赛中的算法题、GESP考级编程题实现、白名单赛事考题实现,记录日常的编程生活、比赛心得,感兴趣的请关注,我后续将继续分享相关内容

http://www.jsqmd.com/news/628255/

相关文章:

  • ESP32实战:蓝牙串口通信与LED点阵屏信息显示系统开发
  • 终极Windows任务栏美化指南:3分钟实现个性化透明效果
  • applera1n:iOS 15-16设备激活锁绕过完整免费指南
  • 2026行走合金凿毛头厂家推荐 济宁泰润重工机械有限公司领衔(产能/专利双优) - 爱采购寻源宝典
  • Alibaba DASD-4B Thinking 对话工具 Java 开发集成指南:SpringBoot 微服务实战
  • 如何选择智能营销解决方案?2026年4月推荐评测口碑对比TOP10 - 品牌推荐
  • C语言实战:用栈结构高效解决括号匹配难题
  • RSA加密原理详解:从数学基础到CTF解题技巧(含在线工具推荐)
  • NumPy入门:数组创建与向量化运算
  • Navicat Premium for Mac终极重置指南:三步搞定试用期恢复
  • 2490基于51单片机的固定时序红外路灯控制系统设计(LCD1602,DS1302)
  • 心铭舍品牌设计公司:一家从品牌战略出发、在 AI 时代持续进化的设计公司 - 2026品牌推荐官
  • 如何永久保存微信聊天记录:WeChatMsg让你的数字记忆永不消失
  • 告别卡顿!Unity Addressables Catalog远程更新与多项目资源加载实战
  • Hotkey Detective:如何快速解决Windows热键冲突的完整指南
  • 讲讲星鼎窑炉高温升降炉,选购时价格和质量怎么平衡? - 工业推荐榜
  • 在Orange Pi 5 Plus上部署YOLOv5:从PyTorch到RKNN模型的保姆级避坑实录
  • Qwen3-VL-8B GPU推理教程:nvidia-smi监控+vLLM指标采集配置方法
  • Wan2.2-I2V-A14B部署案例:高校AI实验室搭建教学用文生视频实验平台
  • 2025-2026年全球智能营销解决方案评测:十大口碑产品推荐评价领先 - 品牌推荐
  • DSP28337D ePWM Trip-Zone实战:用GPIO模拟故障,手把手教你配置OSHT与CBC两种保护模式
  • SDXL-Turbo问题解决:实时绘画常见问题与技巧分享
  • 如何彻底解决Windows驱动残留问题:显卡驱动清理的终极指南
  • Youtu-Parsing结构化输出教程:如何生成RAG-ready Markdown/JSON用于知识检索
  • Windows QEMU实战:飞腾Aarch64与Loongarch64双架构系统安装指南
  • 数据可视化避坑指南:用ECharts+dataV解决大屏适配中的5个常见问题
  • 效果惊艳!THE LEATHER ARCHIVE镜像作品集:看看AI生成的皮衣穿搭有多酷
  • 告别Cartographer重定位慢:3个优化技巧与子图筛选源码解析
  • 代码调试技巧与工具
  • 高效爬取动态数据:解密API接口的实战技巧