MID 評分標準

1. Time Duration

正解及測試資料檔案:
https://drive.google.com/file/d/18V8irNrFS7v05BfXSgTqqZxxM9Lls2XY/view?usp=sharing

本次評分共有 20 筆測試資料,每筆 1 分,每筆答案的數字必須完全正確才會給分。
作答格式不影響分數,但建議在數字與文字之間增加空格,同時進行適當換行 (\n)。

2. Colorful Diamond

評分標準和 hw0205(卡坦島) 應該滿類似的

各測資扣分標準:
A. 沒印顏色/顏色有印錯,規律是錯的 -2 pts
B. 顏色有印錯,但顏色規律是對的 -1 pt
C. 方塊間有多餘空白 -2 pts
D. 方塊寬或高多一格 -2 pts
E. '+' 印成 '*' -1 pt
如果扣 3 分以上不會特別附註錯誤編號

平常作業會希望大家可以問清楚,看清楚 Spec(題目) 要求。但因為期中考時間比較趕,所以容許一些錯誤

Subtask 1(2 pts)

子任務說明: 判錯

testcase 1(1 pt)
-1
4
testcase 2(1 pt)
1
-1

Subtask 2(3 pts)

子任務說明: 只有一個矩形(

N=1)

testcase 3(3 pts)
1
4

Subtask 3(6 pts)

子任務說明: 邊長為 1(

edge length=1),但
N1

testcase 4(3 pts)
4
1
testcase 5(3 pts)
7
1

Subtask 4(6 pts)

子任務說明:

N3

testcase 6(3 pts)
2
2
testcase 7(3 pts)
3
2

Subtask 5(3 pts)

子任務說明: 無其他限制

testcase 8(3 pts)
5
3

3. Treasure’s Password

mid03 testcase link

4. Parity Bits

2pts for each case

Case1
0 0 0 0 0
Case2
-5 -5 -5 -5 -5
Case3
12834 12834 12834 12834 12834
Case4
-32723 -32723 -32723 -32723 -32723
Case5
Permutation of five from 35762947 to 35762957 
Case6
Permutation of five from -92143647 to -92143637
Case7
Permutation of five from 1147393747 to 1147393757
Case8
Permutation of five from -1123498647 to -1123498637
Case9
Permutation of five from 2147483636 to 2147483646
Case10
Permutation of five from -2147483646 to -2147483636

5. Gymnastic Formation 疊羅漢

我不知道為啥只有這題題目有中文。

此題有 10 筆測試,各 2 分。

助教使用mid05.c進行測試。

測試分為錯誤參數值檢測與計算檢測兩部分,各有 5 筆測試。

附註一:此題我有注意到某些人使用 0 作為體重之初始值,藉以判斷是否初始化。雖然此次我沒有針對這種情況扣分,但如果要以 0 作為初始值,應該需要實作避免 setup 成 0 的呼叫,要不然體重初始值應以「不得 setup 之值」作為初始化與否之判斷。

附註二:我還看到有人直接將函式實作在 weight.h 裡面的,除非非常明確想要 static inline 直接讓編譯器優化時展開函式,否則這樣真的不太好,以後很容易遇到 symbol conflict。

附註三:雖因為我認為疊羅漢不可能疊到二三十層,或體重不可能一兩千公斤,未判斷 afford_weightint64_tsetup_*_weightuint32_t 邊界,但不是所有助教都像我一樣好說話,所以沒做某些型別轉換的同學以後最好還是要記得做。(有些人用 int32_t 記錄體重,與 uint32_t 在上界還是有差別)