题库 信息学奥赛题库 题目列表 (电路布线)电路布局布线是电子设计自动化(EDA)领...
问答题

(电路布线)电路布局布线是电子设计自动化(EDA)领域的一个重要概念,它涉及到在电路板或集成电路上安排和连接电子元件的过程。这个过程的目标是在满足电气性 能、信号完整性、电磁兼容性等要求的同时,实现对空间、成本和生产工艺的优化。

小小现在需要解决一个简化的电路布线问题,在一个 × 的方格中进行电路布线。其中:

井号 标记的格子已经被占用,不能布线。
加号 
标记的格子会连接到电路的其他部分,必须被布线。在给定的电路布线问题中, 至少有一个格子必须被布线
点号 
标记的格子小小有权选择是否布线:布线即将该格标记为加号,不布线即保持为 点号。

小小的任务是选择尽可能多的格子进行布线 将 的格子标记为 ,满足:

  1. 布线电路连通。即从任意一个已布线的格子,都能通过上、下、左、右移动到相邻已布 线格子的方式,到达任意另一个布线的格子。

  2. 布线不存在短路 回路 ,即不存在某个布线的格子能通过 > 2 步的上、下、左、右移动 到相邻布线格子的方式回到自身,且经过的格子各不相同。

例如,以下是一个电路布线问题,已有三个格子被标记为必须布线 加号 :

#....#
....+#
.+####
.+...#

以下展示了一种合法和两种不合法的布线方案:

输入格式

输入第一行是两个空格分隔的整数 和 m,代表布线问题格子的行数和列数。 接下来 行,每行 个字符 # + . 中的一个 ,描述了具体的布线问题。 输入数据保证至少存在一种合法的布线方案。输入数据中至少有一个 +

输出格式

输出 行,每行 个字符,代表最优的布线方案,其中被布线的格子尽可能多。如有多种可 能的方案,输出任意一种即可。

样例输入1

2 2 

+. 

..

样例输出1

+. 

++

样例输入2

3 5 

...+# 

..### 

....+

样例输出2

++++#
.+###
+++++

样例输入3

5 6 

..++.. 

.#..#. 

.#..#. 

.#..#. 

......


样例输出3

++++++
+#.+#+
+#+.#+
+#++#+
++.+++

数据规模

对于 40%的数据,满足 × ≤ 16。 

对于 100%的数据,满足 n≤ 6

题目信息
完善程序 2023年 初赛
-
正确率
0
评论
212
点击