我有一个有趣的编程问题,我需要为我正在构建的iPhone应用程序解决这个问题。问题实际上是一个逻辑问题,不需要特定于任何特定的编程语言。
该应用程序需要生成一个链接图(如果这不是正确的术语,我会道歉,但这对我来说是有道理的)。您有以下数据:
A=C
B=A
C=O
D=F
E=F
F=G
G=D
H=J
I=L
J=N
K=A
L=O
M=C
N=H
O=E
字母A到O可以链接到任何其他字母。应用程序需要按照链接创建地图,因此从A开始,A链接到C,C链接到O,O链接到E,E链接到F等
完成后,此地图将如下图所示。
http://i.stack.imgur.com/TEfAs.jpg
我遇到的问题是我需要编写代码,使用任何链接组合输出任何地图。例如,另一个链接列表可能看起来像
A=B
B=A
C=A
D=A
E=A
F=A
G=A
H=A
I=A
J=A
K=A
L=A
M=A
N=A
O=A
我无法理解用于绘制应用程序的伪代码/逻辑。总共有15个字母A-O和一个字母永远不能链接到自身,所以A永远不能= A。
任何人都可以帮忙提出绘制地图的逻辑吗?
答案 0 :(得分:0)
你想要的是绘制图形。没有图表的规范图形表示。因此,如果你没有约束如何绘制图形,你可以简单地创建一行字母,而不是根据你的地图在字母之间绘制拱门,
很像这样(ASCII-ART):
示例
+-----------------------------------------+
+--------------------------------------+ |
+-----------------------------------+ | |
+--------------------------------+ | | |
+-----------------------------+ | | | |
+--------------------------+ | | | | |
+-----------------------+ | | | | | |
+--------------------+ | | | | | | |
+-----------------+ | | | | | | | |
+--------------+ | | | | | | | | |
+-----------+ | | | | | | | | | |
+--------+ | | | | | | | | | | |
+-----+ | | | | | | | | | | | |
| | | | | | | | | | | | | |
A B C D E F G H I J K L M N O
| |
+--+
示例
+-----------------------------+
+-----------------------------+ |
+--+ +-----------------------------------+
| | | | +--------+ | |
A B C D E F G H I J K L M N O
| | | | | | | | | | | |
+-----+ | +--+ | +-----+ | +--------+
| +-----+ | | +-----------+
| | +--+ +-----------------+
| +--------+ |
+-----------------------------+
看起来有点混乱,但你不能总是避免过境。 [在这个例子中你可以,但我并没有试图避免穿越,因为在一般情况下无法避免。]