0

我有一个有趣的编程问题,我需要为我当前正在构建的 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

我无法理解绘制应用程序的伪代码/逻辑。AO 总是有 15 个字母,而一个字母永远不能与自身链接,所以 A 永远不能 = A。

谁能帮忙想出绘制地图的逻辑?

4

1 回答 1

0

你想要的是画一个图表。图没有规范的图形表示。因此,如果您没有限制应该如何绘制图形,您可以简单地制作一行字母,然后根据您的地图在字母之间绘制拱门,

有点像这样(ASCII-ART):

  1. 例子

    +-----------------------------------------+
    +--------------------------------------+  |
    +-----------------------------------+  |  |
    +--------------------------------+  |  |  |
    +-----------------------------+  |  |  |  |
    +--------------------------+  |  |  |  |  |
    +-----------------------+  |  |  |  |  |  | 
    +--------------------+  |  |  |  |  |  |  |
    +-----------------+  |  |  |  |  |  |  |  |
    +--------------+  |  |  |  |  |  |  |  |  |
    +-----------+  |  |  |  |  |  |  |  |  |  |
    +--------+  |  |  |  |  |  |  |  |  |  |  |
    +-----+  |  |  |  |  |  |  |  |  |  |  |  |
    |     |  |  |  |  |  |  |  |  |  |  |  |  |
    A  B  C  D  E  F  G  H  I  J  K  L  M  N  O
    |  |
    +--+
    
  2. 例子

                +-----------------------------+
          +-----------------------------+     |
    +--+  +-----------------------------------+
    |  |  |     |           +--------+  |     |
    A  B  C  D  E  F  G  H  I  J  K  L  M  N  O
    |     |  |  |  |  |  |     |  |  |     |  |
    +-----+  |  +--+  |  +-----+  |  +--------+
    |        +-----+  |  |     +-----------+
    |        |     +--+  +-----------------+
    |        +--------+           |
    +-----------------------------+
    

看起来有点混乱,但你不能总是避免交叉路口。[在这个例子中你可以,但我没有试图避免交叉,因为在一般情况下它们是无法避免的。]

于 2013-09-10T11:34:36.010 回答