login
岛屿面积计算与排序
2025/07/21·StepFun can make mistakes, check important info.
任务:计算每个岛屿的面积 描述:以下是一幅地图,地图上每个字母代表一个100*100米的方形区块,其中字母S表示该区块是海洋,字母D表示该区块是地面,地图以外区域都视为海洋。每个被海洋完全包围的区块认为是一个独立的岛屿。你需要仔细观察地图,不要调用代码,不要使用程序,数出每个岛屿的面积,并从大到小输出。 地图如下: SDDSSSSSSS SSSSDDDDDD SSSSSSSSSS SSDDDSSSSS SSSDDSSSSS SSSSSDDSSS DDDDSSSSDS SSSSSDDSDS SSSDDDDDDS SSSSSSSSSS
Reason
思考过程

嗯,我现在需要解决这个计算每个岛屿面积的问题。首先,我得仔细理解题目要求。题目说每个字母代表一个100x100米的区块,S是海洋,D是地面。岛屿是指被海洋完全包围的地面区块,也就是说,如果一个D周围没有相邻的D连接到地图边缘的话,它就是一个独立的岛屿。我的任务是找出所有这样的岛屿,计算它们的面积,然后按从大到小的顺序输出。

首先,我需要明确地图的结构。给出的地图是一个10行,每行10个字符的矩阵。比如第一行是SDDSSSSSSS,这样每个字符的位置可以用行和列来确定,比如第一个字符是行0,列0,接下来是行0列1,行0列2,依此类推。或者可能题目中的行是从上到下编号的,比如第一行是行1,但通常编程中行是从0开始的,不过这里可能不需要编程,只需要手动分析。

接下来,我需要确定哪些D区块是被海洋包围的,即这些D不与地图的边缘相连,否则它们可能属于陆地的一部分而被算作没有被包围的岛屿。或者题目中的岛屿定义是必须完全被海洋包围的,也就是说,这些D不能连接到地图的边缘,否则它们不是岛屿。例如,如果一个D位于地图的边缘,或者通过相邻(上下左右?)的D连接到边缘,那么这些D不被算作岛屿的一部分,因为它们没有被海洋完全包围。因此,真正的岛屿应该是被海洋包围的封闭区域中的D,也就是这些D无法到达地图的边缘。

所以,解决这个问题的步骤可能是这样的:

  1. 遍历整个地图,找到所有D的位置。
  2. 确定哪些D是连接到地图边缘的,这些D不属于任何岛屿,应该被排除。
  3. 剩下的D可能属于不同的封闭区域,每个封闭区域是一个岛屿,需要计算每个区域的大小。
  4. 将这些岛屿的面积按从大到小排序,输出结果。

首先,我需要明确如何确定一个D是否连接到地图边缘。这里可能需要使用广度优先搜索(BFS)或深度优先搜索(DFS)来标记所有与边缘相连的D区域。然后剩下的未被标记的D区域就是被海洋包围的岛屿。

让我仔细看一下地图的结构:

地图的每一行:

行0: S D D S S S S S S S
行1: S S S S D D D D D D
行2: S S S S S S S S S S
行3: S S D D D S S S S S
行4: S S S D D S S S S S
行5: S S S S S D D S S S
行6: D D D D S S S S D S
行7: S S S S S D D S D S
行8: S S S D D D D D D S
行9: S S S S S S S S S S

首先,我需要找到所有位于边缘的D,或者通过相邻D连接到边缘的D,然后排除这些区域。剩下的D区域即为岛屿。

地图的边缘是指行0、行9,或者列0、列9的位置。如果一个D位于这些边缘的位置,或者可以通过上下左右相邻的D连接到这些边缘的位置,那么这些D不属于岛屿。

所以,首先我要找到所有与边缘连接的D区域,并将它们标记出来,剩下的D就是被包围的岛屿。

现在,我需要手动遍历地图,找到所有与边缘相连的D区域。

首先,检查地图的边缘是否有D:

边缘包括:

  • 行0的所有列(0-9)
  • 行9的所有列(0-9)
  • 列0的所有行(0-9)
  • 列9的所有行(0-9)

先检查行0是否有D。行0是 S D D S S S S S S S → 位置0,1和0,2是D。这两个D位于行0的边缘(行0是第一行,所以是边缘),所以这些D属于边缘区域,应该被排除。

然后,行9是 S S S S S S S S S S → 没有D。

列0的所有行:
行0列0是S
行1列0是S
行2列0是S
行3列0是S
行4列0是S
行5列0是S
行6列0是D → 行6列0是D,位于列0的边缘,所以属于边缘D,需要排除。
行7列0是S
行8列0是S
行9列0是S

列9的所有行:
行0列9是S
行1列9是D → 位于列9的边缘,所以属于边缘D。
行2列9是S
行3列9是S
行4列9是S
行5列9是S
行6列9是S
行7列9是S
行8列9是S
行9列9是S

此外,还有其他可能的D位于边缘吗?比如行0的D在列0吗?行0列0是S,行0列1和列2是D,位于行0的边缘,所以属于边缘D。

现在,我需要从这些边缘的D出发,找到所有相邻的D,标记为边缘区域。

首先,处理行0列1和行0列2的D:

行0列1是D,行0列2是D。这两个D相邻,属于同一个区域。然后检查他们的相邻位置:

行0列1的相邻位置:
上:行-1,不存在;
下:行1列1,S;
左:行0列0,S;
右:行0列2,D(已处理)。

所以,这两个D的区域只有他们自己,没有其他相邻的D连接到其他位置。但需要检查是否他们的下边有D连接。行1列1是S,行1列2是S?行1的原始数据是 S S S S D D D D D D → 行1列0到列3都是S,列4到9是D。所以行1列1是S,行1列2是S,行1列3是S,行1列4是D。所以行0的D下方没有D,所以这两个D可能形成一个独立的边缘区域,但它们位于行0,所以属于边缘,所以这些D不属于任何岛屿。不过,可能这两个D是否与行1的D相连?例如,行0列2是D,行1列2是S,所以没有连接。所以行0的两个D是孤立的边缘D,属于边缘区域。

然后,行6列0是D,位于列0的边缘。检查它的相邻位置:

行6列0的相邻位置:
上:行5列0是S;
下:行7列0是S;
左:列-1,不存在;
右:行6列1是D(D吗?行6是 D D D D S S S S D S → 行6列0是D,行6列1是D,行6列2是D,行6列3是D,后面是S等。所以行6列0的右边是行6列1的D,属于同一区域。然后继续扩展:

行6列0的右边是行6列1的D,这个D的相邻位置:

上:行5列1是S;
下:行7列1是S;
左:行6列0(D,已处理);
右:行6列2是D。

继续处理行6列2的D:

相邻位置:
上:行5列2是S;
下:行7列2是S;
左:行6列1(D,已处理);
右:行6列3是D。

处理行6列3的D:

相邻位置:
上:行5列3是S;
下:行7列3是S;
左:行6列2(D,已处理);
右:行6列4是S。

所以行6列3的右边是S,无法继续扩展。现在,这个区域包括行6列0、1、2、3的D,形成一个连续的区域,位于列0的边缘,所以这些D属于边缘区域,应该被排除。

另外,行1列9是D,位于列9的边缘。检查它的相邻位置:

行1列9的相邻位置:
上:行0列9是S;
下:行2列9是S;
左:行1列8是D;
右:不存在。

行1列8是D,属于行1列9的左侧。现在检查行1列8的D是否与其他D相连:

行1列8的相邻位置:
上:行0列8是S;
下:行2列8是S;
左:行1列7是D(行1的列7是D吗?原行1的数据是 S S S S D D D D D D → 列4到9是D,所以列7是D,行1列7是D,行1列8是D,行1列9是D。所以行1列8的D左边是行1列7的D,继续扩展。

这样,行1列9的D所在的区域包括行1列4到9的D吗?原行1的D从列4到9,共6个D。这些D位于行1的列9,所以属于边缘区域。所以这些D都属于边缘区域,需要被排除。

现在,我需要找到所有与边缘D相连的区域,这些D位于边缘或者通过相邻D连接到边缘。这些区域中的D不属于任何岛屿。

现在,我需要处理所有边缘D的区域:

首先,行0的列1和2的D区域,只有这两个D。

行6列0到3的D区域,共4个D。

行1的列4到9的D区域,共6个D。

还有其他边缘D吗?

比如,行8列9是S,但原行8的数据是 S S S D D D D D D S → 行8列0到2是S,列3到8是D,列9是S。所以行8的D位于列3到8,这些D是否连接到边缘?

行8的列3到8的D是否连接到边缘?比如,行8列3的D位于行8,是否在行边缘?行8是倒数第二行,行9是最后一行。所以行8的D位于行8,是否属于边缘?行8的边缘是行8本身吗?不,边缘是行0和行9,所以行8的D不位于行边缘。但是,列方面,行8的列3到8的D是否连接到列边缘?例如,行8列8是D,位于列8,不是边缘列(边缘列是0和9)。所以这些D是否通过连接到行或列的边缘?

可能需要更仔细的检查。

现在,我需要确定所有连接到边缘的D区域,包括通过相邻的D连接到边缘的。

例如,行6列0到3的D区域是否连接到其他区域?比如,行6列3的D右边是S,所以没有连接到其他区域。但是,行6的D是否与其他行的D相连?

比如,行6列3的D下方是否有D?行7列3是S。所以没有。

那么,现在可能的边缘区域包括:

  1. 行0的列1、2的D → 2个D。
  2. 行1的列4到9的D → 6个D。
  3. 行6的列0到3的D → 4个D。
  4. 行8的列3到8的D是否连接到边缘?

行8的列3到8的D是否连接到边缘?比如,行8列8的D是否位于边缘列?列8不是边缘列(边缘列是0和9)。所以这些D是否连接到边缘?

假设这些D没有连接到边缘,那么它们可能属于一个被包围的区域,但需要看是否被海洋包围。

或者,可能这些D连接到行边缘?比如,行8是第9行(如果行从0开始的话,行9是最后一行),但行8本身不是边缘行。所以这些D位于内部,可能形成岛屿。

现在,我需要继续检查所有可能的边缘D区域。

接下来,检查列9的D是否有其他位置:

行1列9是D,属于边缘D。行1列9的D所在的区域包括行1列4到9的D,共6个D。这些D是否连接到其他边缘?比如,行1列4的D是否连接到其他区域?

行1列4的D是否连接到行1的列4到9的D,而这些D是否连接到其他行的D?

比如,行2列4是否是D?行2的数据是全部S,所以行2列4是S。所以行1的D区域无法向上扩展到行2。行0列4是S,所以行1的D区域无法向上连接。行1列4的D下方是否有D?行2列4是S。所以行1的D区域仅限于行1的列4到9,共6个D,属于边缘区域。

现在,剩下的D需要检查是否连接到边缘:

例如,行3的D:

行3的数据是 S S D D D S S S S S → 行3列2、3、4是D。这些D是否连接到边缘?

行3列2的D,位于行3,列2。相邻的位置:

上:行2列2是S;
下:行4列2是S;
左:行3列1是S;
右:行3列3是D(同一行)。

这些D是否连接到边缘?比如,行3列2的D是否通过其他D连接到边缘?

比如,行3列2的D下方是行4列2的S,左边是S,所以无法连接到边缘。那么这些D可能属于一个被包围的区域,即岛屿。

同样,行4的D:

行4的数据是 S S S D D S S S S S → 行4列3、4是D。这些D是否与行3的D相连?

行4列3的D上边是行3列3的D,所以它们是相连的。所以行3和行4的D形成一个区域,共3+2=5个D?或者需要重新计算。

行3的D有列2、3、4 → 3个D。
行4的D有列3、4 → 2个D。
所以合并后这个区域共有5个D,是否连接到边缘?

行4列4的D右边是行4列5,S。下边是行5列4,行5的列4是S(行5的数据是 S S S S S D D S S S → 行5列4是S,行5列5和6是D)。所以行4的D下方是S,无法连接到其他区域。所以这个区域是一个被包围的岛屿吗?

需要确定这些D是否被海洋包围,或者是否连接到边缘。因为它们位于内部,没有连接到边缘,所以是岛屿。

另一个区域是行5的D:

行5的数据是 S S S S S D D S S S → 行5列5、6是D。这些D是否连接到其他区域?

行5列5的D上边是行4列5,S。左边是行5列4,S。所以没有连接到行3或行4的D区域。它们的下方是行6列5,S。右边是行5列7,S。所以这个区域有2个D,形成一个独立的岛屿吗?

但需要检查是否被海洋包围。如果这些D周围都是S,那么它们是岛屿。例如,行5列5和6的D是否被S包围?

例如,行5列5的左边是S,右边是行5列6的D。上方是S,下方是行6列5的S。左边是S,右边是D。所以这两个D是否形成一个封闭区域?

可能需要更仔细的分析。

另外,行7的D:

行7的数据是 S S S S S D D S D S → 行7列5、6是D,行7列8是D。这些D是否相连?

行7列5和6的D是否与行6的D相连?行6列5是S,行7列5的上方是行6列5的S,所以不相连。行7列8的D是否与行8的D相连?行8列8是D吗?行8的数据是 S S S D D D D D D S → 行8列3到8是D。所以行8列8是D,行7列8的D下方是行8列8的D,所以它们是相连的。因此,行7列8的D和行8列8的D相连,而行8的D区域是否连接到边缘?

行8的D位于列3到8,这些D是否连接到边缘?比如,行8列8的D位于列8,不是边缘列。行8列3的D位于行8,行不是边缘行。所以这些D是否形成一个封闭区域?

现在,我需要确定这些D是否连接到边缘:

行7列5和6的D:

行7列5的D上边是行6列5的S,左边是行7列4的S,右边是行7列6的D,下方是行8列5的D?行8列5是否属于D?行8的数据是 S S S D D D D D D S → 行8列3到8是D。所以列5属于行8的D吗?是的。行8列5是D。所以行7列5的D下方是行8列5的D,这样行7的D和行8的D相连。而行8的D区域是否连接到边缘?

行8的D区域是否连接到边缘?例如,行8列3的D是否连接到行8的边缘?行8的边缘是行8的上下左右?行8的边缘是行9(但行8不是边缘行),列0和列9。行8的D区域位于列3到8,所以不连接到列边缘,但可能通过其他路径连接到边缘?

比如,行8的D是否连接到行9?行9是全部S,所以不行。是否连接到列0或列9?

例如,行8列8的D右边是行8列9的S,所以无法连接到列9。行8列3的左边是行8列2的S,所以无法连接到列0。所以行8的D区域无法连接到边缘,所以这些D属于一个被包围的岛屿吗?

那行7列5、6的D和行8列3到8的D是否连接?例如,行7列5的D下方是行8列5的D,所以它们相连。这样,行7的D和行8的D形成一个更大的区域,包括行7列5、6,行8列3到8的D。那么这个区域是否连接到边缘?

行8列3到8的D是否连接到边缘?比如,行8列3的D左边是行8列2的S,所以无法连接到列0。行8列8的D右边是S,无法连接到列9。所以这些D不连接到边缘,因此整个区域属于一个岛屿。

现在,我需要重新整理这些区域:

可能的岛屿:

  1. 行3和行4的D区域:行3列2、3、4(3个D),行4列3、4(2个D) → 共5个D?
    但需要确认是否这些D是相连的。例如,行3列4的D下方是行4列4的D,所以是的。所以这个区域共有5个D。

  2. 行5列5、6的D → 2个D,是否被S包围?

行5列5的D周围:上S,下S(行6列5是S吗?行6的数据是 D D D D S S S S D S → 行6列5是S。左S,右是D(行5列6的D)。所以行5列5的D下方是S,所以这两个D是否形成一个独立的岛屿?

是的,这两个D被S包围,形成一个岛屿。

  1. 行7列5、6,行8列3到8的D:行7列5、6是2个D,行8列3到8是6个D(列3到8共6个),所以总共有8个D?

行7列5的D下方是行8列5的D,所以行7的D和行8的D相连。行8的D区域包括列3到8,共6个D。所以总共有2+6=8个D?

或者行7的D和行8的D是否形成一个更大的区域?

是的,行7列5和6的D与行8列5的D相连,而行8列5的D属于行8的D区域,所以整个区域包括行7列5、6和行8列3到8的D吗?

需要检查行8列3到8的D是否与行8列5的D相连。是的,行8列3到8的D是连续的,所以行8列5的D属于该区域。因此,行7列5和6的D与行8的D区域相连,所以整个区域的D数目是行7的2个加上行8的6个,共8个?

或者行8的D区域是列3到8,共6个,加上行7的2个,共8个?

是的,所以这个区域总共有8个D。

还有其他岛屿吗?

比如,行8列3到8的D是否与行7列8的D相连?

行7列8的D下方是行8列8的D,所以是的。所以行7列8的D属于行8的D区域吗?

是的,行7列8的D是行7的列8的D,下方是行8列8的D,所以这个D也属于行8的D区域。所以行7的D包括列5、6、8?

原行7的数据是 S S S S S D D S D S → 列5、6、8是D。所以行7的D有三个:列5、6、8。而行8的D是列3到8,所以行7列8的D与行8列8的D相连,所以行7列8的D属于行8的D区域吗?

那这样的话,行7的D包括列5、6、8,行8的D包括列3到8。所以行7列5、6、8的D与行8列3到8的D是否相连?

行7列8的D下方是行8列8的D → 是的。行7列5的D下方是行8列5的D → 是的。所以行7的这三个D都连接到行8的D区域。因此,行7列5、6、8的D加上行8列3到8的D形成一个更大的区域。

所以行7的三个D加上行8的6个D,共9个D?

行7列5、6、8的D是三个,行8列3到8是6个,总共9个?

这样,这个区域的面积是9。

那这个区域是否连接到边缘?之前分析过,行8的D区域不连接到边缘,所以这个区域是一个岛屿。

另外,行6的列0到3的D是边缘区域,属于被排除的部分。

现在,我需要重新整理所有的岛屿:

可能的岛屿:

  1. 行3和行4的D区域:行3列2、3、4(3个),行4列3、4(2个) → 总共5个D。
  2. 行5的D区域:行5列5、6 → 2个D。
  3. 行7和行8的D区域:行7列5、6、8(3个),行8列3到8(6个) → 3+6=9个D。
  4. 还有其他可能的岛屿吗?

例如,行8的列3到8的D是否与行9的D相连?行9的D不存在,所以没有。

另外,行8列3到8的D是否与行7列3的D相连?行7列3是S,所以不相连。

所以,这可能就是三个岛屿,面积分别为5、2、9。另外,是否还有其他的岛屿?

比如,行6的列4到... 没有,行6的D在列0到3,属于边缘区域。

再检查行8的列3到8的D是否还有其他连接:

比如,行8列3的D左边是行8列2的S,所以无法连接到其他区域。

另外,行6的列0到3的D属于边缘区域,所以不计入岛屿。

那现在,这三个岛屿的面积分别是9、5、2,按从大到小排列是9、5、2。但需要确认是否还有其他岛屿。

比如,行7列5、6、8的D是否与行8的D区域相连,导致该区域的面积更大?

是的,行7的三个D加上行8的六个D,共9个。

那现在,剩下的D是否还有其他区域?

例如,行5列5、6的D是否与其他D相连?比如,行6列5是S,行4列5是S,所以这两个D形成一个独立的岛屿,面积2。

那总共有三个岛屿:面积9、5、2。

或者,是否还有其他区域?

比如,行8列3到8的D是否与行7列3的D相连?行7列3是S,所以不相连。

行8列3到8的D是否连接到其他行的D?比如,行9都是S,所以没有。

所以,这三个岛屿的面积应该分别是9、5、2。但需要再次确认。

现在,我需要重新检查每个可能的岛屿:

岛屿1:行7和行8的D区域 → 9个D。
岛屿2:行3和行4的D区域 → 5个D。
岛屿3:行5的D区域 → 2个D。

是否还有其他岛屿?

比如,行6的列0到3的D是边缘区域,不属于岛屿。

行0的列1、2的D是边缘区域,不属于岛屿。

行1的列4到9的D是边缘区域,不属于岛屿。

行8的列3到8的D是否属于岛屿?

是的,因为这些D没有连接到边缘,所以属于岛屿。

那这三个岛屿的面积是9、5、2。

但是,我需要再次检查是否有其他可能的岛屿。

比如,行8的列3到8的D是否包括行7列8的D?

是的,行7列8的D与行8列8的D相连,所以属于同一区域。

行7列5、6的D是否属于同一区域?

行7列5的D与行8列5的D相连,行8列5的D属于行8的D区域,所以是的。行7列5、6的D与行8的D区域相连,所以整个区域是行7列5、6和行8列3到8的D,共3+6=9?

行8列3到8的D是6个(列3到8是6列吗?行8的数据是 S S S D D D D D D S → 列3到8是6个D吗?行8有10列,列0到9。列3到8是列3、4、5、6、7、8 → 六个D。所以行8的D区域是6个D。行7列5、6、8的D是三个D。所以总共有6+3=9个D。是的。

那这三个岛屿的面积是9、5、2。

是否还有其他岛屿?

比如,行6列4到... 没有,行6的D在列0到3,属于边缘区域。

行5列5、6的D是否还有其他连接?

比如,行5列6的D的右边是行5列7,S。下方是行6列6,S。所以这两个D形成一个独立的岛屿。

那现在,这三个岛屿的面积是9、5、2。

现在,我需要确认这些岛屿的面积是否正确。

首先,岛屿1:行7和行8的D区域:

行7列5、6、8 → 三个D。
行8列3到8 → 6个D。
总共有3+6=9个D。

是的,所以面积是9×100×100=90000平方米,但题目只需要输出面积数值,比如9个区块,面积9。

同理,岛屿2:行3和行4的D区域:

行3列2、3、4 → 三个D。
行4列3、4 → 两个D。
总共有5个D → 面积5。

岛屿3:行5的D区域 → 2个D → 面积2。

所以按从大到小排序是9,5,2。

是否还有其他岛屿?

比如,行8的D是否还有其他区域?

比如,行8的D是否连接到行7列8的D,而行7列8的D是否还连接到其他D?

行7列8的D的左边是行7列7,S。右边是行7列9,S。所以下方是行8列8的D,所以行7列8的D属于行8的D区域,所以没有其他连接。

所以,确认这三个岛屿的面积。

另外,是否还有其他的岛屿?

比如,行8的D区域是否与行7的其他D相连?

比如,行7列5的D下方是行8列5的D,属于同一区域。所以整个区域包括行7列5、6、8,行8列3到8的D,共9个。

是的。

那现在,这三个岛屿的面积是9、5、2。但可能还有其他岛屿?

比如,行8的列3到8的D是否与行9的D相连?行9是全部S,所以不。

所以,最终岛屿面积是9、5、2。

现在,我需要再次检查是否还有遗漏的岛屿。

比如,行7列8的D是否属于行8的D区域?

是的,所以行7列8的D被计算在内。

是否有其他D未被计入?

比如,行8列3到8的D是否还有其他相邻的D?

比如,行8列3的D的左边是行8列2的S,所以没有其他D。

现在,我需要确认所有D是否都被正确归类为边缘区域或岛屿。

总共有多少D?

计算整个地图中的D数目:

行0:2个(列1、2)
行1:6个(列4-9)
行2:0
行3:3个(列2-4)
行4:2个(列3-4)
行5:2个(列5-6)
行6:4个(列0-3)
行7:3个(列5、6、8)
行8:6个(列3-8)
行9:0

总数:2+6+0+3+2+2+4+3+6= 28个D。

其中边缘区域的D数目:

行0的2个;
行1的6个;
行6的4个;
行7的0(行7的D是否属于边缘?行7的D位于行7,不是边缘行。列方面,行7列5、6、8的D不在边缘列。所以行7的D属于岛屿。行8的6个D是否属于边缘?行8列3到8的D不在边缘,所以属于岛屿。所以边缘区域的D数目是2+6+4=12个。剩下的D数目是28-12=16个,属于岛屿。而之前计算的岛屿数目总和是9+5+2=16个,符合。所以所有D都被正确归类。

因此,岛屿面积分别为9、5、2,按从大到小排列是9、5、2。

根据地图分析,每个岛屿的面积从大到小排列为:

岛屿面积列表:
9, 5, 2

解析过程:

  1. 边缘D区域排除

    • 行0列1-2(2个D):位于行0边缘。
    • 行1列4-9(6个D):位于列9边缘。
    • 行6列0-3(4个D):位于列0边缘。
      上述区域与地图边缘相连,不计入岛屿。
  2. 岛屿D区域识别

    • 岛屿1(9个D):
      • 行7列5、6、8(3个D)与行8列3-8(6个D)相连,形成封闭区域。
    • 岛屿2(5个D):
      • 行3列2-4(3个D)与行4列3-4(2个D)相连。
    • 岛屿3(2个D):
      • 行5列5-6(2个D)被海洋完全包围。
  3. 面积排序
    按区块数计算面积:9 > 5 > 2。

最终答案:岛屿面积从大到小为 9, 5, 2