Return to Video

覺醒 | 時代女神 x 程式邏輯革命 (第七集)

  • 0:01 - 0:04
    [TED-Ed 原創系列]
  • 0:07 - 0:10
    《時代女神 x 程式邏輯革命》
  • 0:13 - 0:18
    [地點:一九八樹林]
  • 0:18 - 0:20
    [第七集:覺醒]
  • 0:32 - 0:34
    踏進巨塔的底層
  • 0:34 - 0:39
    彥霖和凌杰要先越過能量布陣
  • 0:39 - 0:44
    才能觸及第二枚瑰寶:創造之泉
  • 0:53 - 0:57
    彥霖要藉三道能量流登上塔頂
  • 0:57 - 1:03
    足下一步,啟動計時器倒數 60 秒
  • 1:07 - 1:10
    在房間的盡頭,有一個能量池
  • 1:10 - 1:12
    一座座隱形能量塔一字排開
  • 1:12 - 1:15
    中間的空格可以蓄積能量
  • 1:15 - 1:19
    一分鐘後,能量會如急流般瀉下
  • 1:19 - 1:21
    每次填滿一個空格
  • 1:21 - 1:25
    力場則在前後防止流溢
  • 1:25 - 1:28
    在風平浪靜的 60 秒間
  • 1:28 - 1:33
    彥霖、凌杰要決定降下多少格能量
  • 1:33 - 1:36
    在三關挑戰中,每關都要調好份量
  • 1:36 - 1:38
    能量池滿而不溢才算圓滿
  • 1:38 - 1:42
    能量階梯就會將他們推上下一關
  • 1:42 - 1:46
    計較份量若有閃失,能量階梯便破解
  • 1:46 - 1:48
    一腳踩空,就是無情的迫降
  • 1:48 - 1:51
    牆上的示意圖,枚舉幾個例子
  • 1:51 - 1:56
    這範例蓄積恰恰兩格能量
  • 1:56 - 1:58
    範例二則蓄積四格:
  • 1:58 - 2:01
    第二欄 3 格、第三欄 1 格
  • 2:01 - 2:03
    範例三也是蓄積四格:
  • 2:03 - 2:07
    左右兩側框不住,能量會外溢
  • 2:07 - 2:10
    能量雨降下後會盡量往空子鑽進去
  • 2:10 - 2:14
    當所有空格填滿才會滿溢
  • 2:14 - 2:19
    凌杰可逐次顯現一座能量塔再數高度
  • 2:19 - 2:23
    但不能一窺整個能量池的全豹
  • 2:23 - 2:26
    彥霖要為凌杰設計一個怎樣的程式
  • 2:26 - 2:29
    來找出能量池框得下多少格能量?
  • 2:29 - 2:34
    若要自己動腦筋,就按一下暫停
  • 2:39 - 2:42
    這道題可以這樣入手:
  • 2:42 - 2:45
    但凡一個空格,要框得住能量
  • 2:45 - 2:49
    最左邊,必須總得有一堵牆框住
  • 2:49 - 2:52
    最右邊,也得有一堵牆框住
  • 2:52 - 2:56
    但凌杰每一格都左顧右盼會很費時
  • 2:56 - 3:01
    假如凌杰逐欄來看每一座能量塔呢
  • 3:01 - 3:05
    比如說,這裡框得住多少格能量?
  • 3:05 - 3:10
    [若要自己動腦筋,就按一下暫停]
  • 3:10 - 3:14
    回來剛才的例子,去分析這道題
  • 3:14 - 3:16
    能量格疊成塔,計有 5 欄
  • 3:16 - 3:20
    最左一欄已到頂,框不下任何能量
  • 3:20 - 3:23
    第二欄,上面可再加 3 格
  • 3:23 - 3:27
    左右這兩座四格塔,能量框得住
  • 3:27 - 3:32
    算法是將能量塔
    最高平整的高度——4
  • 3:32 - 3:34
    減去能量塔本身的高度——1
  • 3:34 - 3:36
    即 4 減 1 得 3
  • 3:36 - 3:42
    第三欄同理:左 4、右 4、高 3 格
  • 3:42 - 3:47
    故可蓄積 4 減 3 格,即 1 格
  • 3:47 - 3:51
    第四、五欄靠右都沒有更高的塔框住
  • 3:51 - 3:53
    所以,這兩欄都不能蓄積任何能量
  • 3:53 - 3:57
    這個概念可用一個演算法實踐:
  • 3:57 - 4:01
    凌杰每次以一欄塔作參照點
  • 4:01 - 4:05
    靠左,逐欄找最高一座塔的高度
  • 4:05 - 4:08
    又挨右,找最高一座塔的高度
  • 4:08 - 4:13
    兩者以較低者為蓄積後的平整高度
  • 4:13 - 4:16
    結果若高於此欄本身的高度
  • 4:16 - 4:19
    就減去原來的塔高
  • 4:19 - 4:23
    得出這座塔會蓄積到多少格能量
  • 4:23 - 4:27
    相反,結果若少於或等於原來塔高
  • 4:27 - 4:29
    能量就不會留住,往左右流走
  • 4:29 - 4:33
    凌杰可用一個迴圈橫越整個能量池
  • 4:33 - 4:39
    從最左一欄塔開始,每次一欄向右移
  • 4:39 - 4:41
    逐欄塔重複相同的幾個步驟:
  • 4:41 - 4:44
    先向左找最高一欄
  • 4:44 - 4:45
    再向右找最高一欄
  • 4:45 - 4:49
    取二者較低者,減去原來欄高
  • 4:49 - 4:53
    若是正數,則加進蓄積格數的總計
  • 4:53 - 4:57
    有多少欄,迴圈就重複多少次
  • 4:57 - 4:59
    這個方法雖然行得通
  • 4:59 - 5:01
    但能量池大的話就很費時
  • 5:01 - 5:05
    每個步驟凌杰都要向左、向右查看
  • 5:05 - 5:10
    若有 N 座塔,就要看 N 次
  • 5:10 - 5:12
    有更快的方法嗎?
  • 5:12 - 5:16
    有一個省時妙計:一開始可先取巧
  • 5:16 - 5:18
    凌杰從最左開始一邊數一邊做小抄
  • 5:18 - 5:21
    以流水帳方式記下當前最高的欄高
  • 5:21 - 5:23
    範例中,首欄是 2
  • 5:23 - 5:25
    然後也是 2,因為第一欄較高
  • 5:25 - 5:28
    接著是 4、4、4
  • 5:28 - 5:31
    之後就輪到靠右的最高欄高
  • 5:31 - 5:34
    做法是從右往左重複一遍:
  • 5:34 - 5:37
    1、3、4、4、4
  • 5:37 - 5:41
    最後凌杰記憶中就有一個這樣的表
  • 5:41 - 5:43
    現在凌杰只消多一重功夫
  • 5:43 - 5:46
    用先前同一條等式
  • 5:46 - 5:50
    去計算每欄塔上可框住多少格能量:
  • 5:50 - 5:54
    小抄中儲存的左值、右值取較低者
  • 5:54 - 5:57
    減去該能量塔原來的高度
  • 5:57 - 6:02
    N 座塔本來要看 N 次,現在只消 3 次
  • 6:02 - 6:05
    即是所謂的線性時間
  • 6:05 - 6:08
    這個解題方案還可以進一步優化
  • 6:08 - 6:11
    但已可解燃眉之急了
  • 6:11 - 6:13
    彥霖、凌杰雙劍合璧
  • 6:15 - 6:19
    第一關如沐春風,翻手之間就竄升
  • 6:22 - 6:24
    第二關稍有難度
  • 6:33 - 6:37
    第三關規模龐大,有數十座能量塔
  • 6:37 - 6:41
    計時器快歸零,幸好編寫程式夠快
  • 6:41 - 6:44
    彥霖及時轉好輪盤
  • 6:49 - 6:52
    能量階梯把他們昇起,直達創造之泉
  • 6:56 - 6:58
    當一切如風,餘下也只有真相
  • 6:58 - 7:01
    哪似水流年的記憶再浮現眼前:
  • 7:01 - 7:03
    「創世機」翻天覆地打造世界大同
  • 7:03 - 7:06
    彥霖身為機器人總工程師看在眼裡
  • 7:06 - 7:09
    怵惕惻隱之心不禁戚戚
  • 7:09 - 7:12
    當「八達圍」築起,把人圍堵城牆內
  • 7:12 - 7:15
    專恣跋扈之甚
    已離經叛道天地不容了
  • 7:15 - 7:17
    彥霖決心撥亂反正,創造了三枚瑰寶
  • 7:17 - 7:21
    讓力量、創造、記憶歸真,回歸人民
  • 7:21 - 7:24
    並暗中散落於三處社區,潛藏民間
  • 7:24 - 7:26
    彥霖還來不及說出運用之法
  • 7:26 - 7:28
    政府就發現她的叛逆
  • 7:28 - 7:30
    派遣機器打造的土龍芻狗大肆搜捕
  • 7:30 - 7:32
    想把彥霖及其他程式設計師一網打盡
  • 7:32 - 7:35
    在最後關頭,彥霖再一次善用創世機
  • 7:35 - 7:37
    創造了一個機器人,囑託他至死守護
  • 7:37 - 7:40
    這台天地間的橐籥、造化萬物的玄機
  • 7:40 - 7:42
    並埋藏巨型迷宮內
    免於平庸無知之惡
  • 7:42 - 7:45
    彥霖給了守護機器人一個名字:凌杰
  • 7:52 - 7:56
    能量階梯一閃消失,送上無情的迫降
Title:
覺醒 | 時代女神 x 程式邏輯革命 (第七集)
Speaker:
Alex Rosenthal
Description:

完整一課見:https://ed.ted.com/lessons/the-tower-of-epiphany-think-like-a-coder-ep-7

自家製作動畫系列《時代女神 x 程式邏輯革命》來到第七集。一連十集的故事敘述一個女孩名叫彥霖,遇上機器人同伴凌杰,齊上齊落光復世界。兩位戰士沿途要摘下三枚瑰寶,解開程式設計般的謎題,殺出一條生路。

課堂:Alex Rosenthal
導演:Kozmonot Animation Studio

more » « less
Video Language:
English
Team:
closed TED
Project:
TED-Ed
Duration:
07:58

Chinese, Traditional subtitles

Revisions