# HW02 補充說明
:::info
作業發出後,任何更新將會寫於此
4/7 2.1 更新:
- 如果先讀完一個很大的`.ass`檔案再印出,可能會導致你的時間差很多。因此,建議讀一行字幕 -> 印完一行字幕 -> 讀下一行字幕
4/6 2.3 更新
- 測資輸入將會都是大寫
3/30 2.1 更新:
- 新增 Time Shift = -10, 兩倍速的範例說明
3/27 2.1 更新:
- PrimaryColour 只有 10 進位和 16 進位
3/20 2.3 更新
- `en_US.dic` 將會與 `hw0203.c` 在同一層級中,請保證路徑正確
- 如果兩個單字機率相等,請選擇**檔案中順序**靠前的單字
- 如果找不到任何合法單字,請輸出 “No Advice\n” 並直接終止程式
- 錯誤輸入時,請輸出“Wrong Input\n”,以增加助教批改速度
:::
## 2.1 Subtitle Player
- (add: 4/7) 如果先讀完一個很大的`.ass`檔案再印出,可能會導致你的時間差很多。因此,建議讀一行字幕 -> 印完一行字幕 -> 讀下一行字幕
- (add: 3/27) PrimaryColour 只會出現兩種可能,一個是 10 進位整數(`11861244`),另一個是 16 進位整數(`&H00B4FCFC`)
- (add: 3/30) 以老師提供的 ass 檔案為例,如果是 Time Shift -10,兩倍速:
```
Format: Layer, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text
Dialogue: 0,0:00:25.06,0:00:28.86,Default,,0,0,0,,... Three minutes.
Dialogue: 0,0:00:28.94,0:00:32.32,Default,,0,0,0,,Oui, Chef. Turn on the stove. Come on. Hurry up. Oui, Chef.
```
如果 Time Shift -10 會變成
```
Dialogue: 0,0:00:15.06,0:00:18.86,Default,,0,0,0,,... Three minutes.
Dialogue: 0,0:00:18.94,0:00:22.32,Default,,0,0,0,,Oui, Chef. Turn on the stove. Come on. Hurry up. Oui, Chef.
```
然後再對這個秒數兩倍速播放。
也就是第一句出現實際時間為 `0:00:15.06`/2
## 2.2 Premier League
## 2.3 Wordle Solver
- 單字表名稱必為 `en_US.dic`
- `en_US.dic` 一旦存在內容必正確,前提是存在
- `en_US.dic` 將會與 `hw0203.c` 在同一目錄中,請保證路徑正確
- 請找尋僅有英文字母的單字即可,其他單字請跳過
- 我做出來合法的單字應有 4772 個,當然只是參考,但我的測資應該會是用這個生的
- 單字的頻率是每個字母頻率相加,別問我為什麼這樣,這是我問老師得到的答案
- 第一個推薦單字應是 EERIE
- 如果兩個單字機率相等,請選擇檔案中順序靠前的單字
- Feedback 輸入我保證長度小於 1024
- Feedback 輸入大寫英文字母以外的皆算錯誤輸入
- 錯誤輸入時,請輸出“Wrong Input\n”,以增加助教批改速度
- 如果找不到任何合法單字,請輸出 “No Advice\n” 並直接終止程式
- 由於助教補充說明與老師的 pdf 有衝突,因此在測資輸入的部分都會是大寫
- 你們可以使用以下指令得到 en_US.dic,可以去查查 wget 是什麼
```
wget https://cgit.freedesktop.org/libreoffice/dictionaries/plain/en/en_US.dic
```
- 字母頻率請看 Text 那列,助教人很好,字母頻表給你們了,答案我會以這張表為準
```
A: 8.2
B: 1.5
C: 2.8
D: 4.3
E: 12.7
F: 2.2
G: 2.0
H: 6.1
I: 7.0
J: 0.15
K: 0.77
L: 4.0
M: 2.4
N: 6.7
O: 7.5
P: 1.9
Q: 0.095
R: 6.0
S: 6.3
T: 9.1
U: 2.8
V: 0.98
W: 2.4
X: 0.15
Y: 2.0
Z: 0.074
```
- 以今日題目為例,輸出應該會長這樣子(助教不太懂 wordle 規則,如果有錯請跟我講):
```
Advice: EERIE
Feedback: BBBBB
Advice: STOAT
Feedback: GGBBB
Advice: STUNG
Feedback: GGGGG
Congratulations!!
```
## 2.4 BMP
- 你們可以參考這個:[圖片傾斜網站](https://onlinetools.com/image/skew-image)
- 怕作業裡的角度示意圖會有點誤導,所以圖片角度傾斜的呈現方式主要以上面網站為主
- 你們程式的輸入角度要可以支援小數點後兩位
- 90 度是非法輸入,所以 $0 \leq angle < 90$
- 高度保持不變
## 2.5 Large Language Model
LLM.
## 2.6 Bonus: Where is errno