「題目敘述故事」:修訂間差異
(→故事題材) |
(→插圖) |
||
(未顯示同一使用者於中間所作的 22 次修訂) | |||
行 1: | 行 1: | ||
使用故事來包裝題目敘述,可以幫助參賽者更容易了解題目,又或是考驗參賽者的閱讀理解能力。 |
|||
題目敘述通常會編寫故事來讓參賽者融入該問題的情境,以更好地了解題目所要問的內容。一些演算法原本就能解決現實生活中的問題,因此以實際會遇到地情境去包裝題目問題就能讓題目變得很易懂。除此之外,故事還能讓題目變得有趣許多,讓不會解題的參賽者在競賽中不至於那麼無聊。 |
|||
== 包裝程度比較 == |
|||
{{TOJ side box|570|E. 存在X}} |
|||
以下使用的範例為 {{TOJ|570}}(109 學年度資訊學科能⼒競賽臺南⼀中校內複選,E. 存在X)在準備競賽時題目敘述演進過程的真實案例。 |
|||
=== Level 1 === |
|||
{{Quote| |
|||
問是否可以以 <math>1 \times 2</math> 骨牌組成給定的遞增圖形。 |
|||
}} |
|||
由出題者寫出來最原始的題目敘述,通常還需要額外的口頭補充解釋才能讓其他人理解題目,這樣的敘述僅能夠讓命題團隊的其他成員記得題目內容,但不足以在正式競賽中使用。 |
|||
=== Level 2 === |
|||
{{Quote| |
|||
給一個 <math>N \times M</math> 的方格圖,其中每個格子皆有 黑/白 其中一個顏色。<br> |
|||
顏色符合以下條件:<br> |
|||
對於第 <math>i</math> 行,<math>1 \sim a_i</math> 為白色,而 <math>a_i + 1 \sim M</math> 為黑色<br> |
|||
對於 <math>1 \leq a_i \leq N-1</math>,<math>ai \leq a_i+1</math>。<br> |
|||
問是否可以用 <math>1 \times 2</math> 的骨牌將所有白色區塊填滿,使得任一個白色格子恰被一個骨牌覆蓋。 |
|||
}} |
|||
由出題者完善的題目敘述,這樣的敘述能夠讓未看過題目的人在沒有額外口頭補充下理解題目。若沒有能力改寫成 Level 3 的題敘,在正式競賽中使用這種題敘尚可接受。 |
|||
=== Level 3 === |
|||
{{Quote| |
|||
那是有一個魔法軍隊的戰爭時代,譚雅是帝國軍二〇三航空魔導大隊的大隊長。<br> |
|||
帝國的國力逐漸變得強大,引起鄰國的不安,想趕在被消滅前先下手為強。<br> |
|||
這天某個國家又跨越邊境前來進犯,譚雅奉命前去驅趕敵人。<br> |
|||
敵軍佔領的區域可以由左至右等距分成 <math>N</math> 格,而從邊境線往內陸也按相同距離切割成數格。<br> |
|||
譚雅發現越靠右方的戰線,離邊境的距離可能與相鄰左方相等或更遠。<br> |
|||
魔導大隊的魔法攻擊可以轟炸 <math>1 \times 2</math> 或 <math>2 \times 1</math>的方格。<br> |
|||
所有敵軍佔領的區域都必須轟炸,但為了節省資源,不想要重複轟炸相同格子,也不想轟炸沒有敵軍佔領的區域。<br> |
|||
請問譚雅是否能達成這個目標呢? |
|||
}} |
|||
經過故事設定的包裝,是正式競賽中常見的題目敘述,能夠讓參賽者充分理解題意。 |
|||
== 目的 == |
|||
題目敘述通常會編寫故事來讓參賽者融入該問題的情境,以更好地了解題目所要問的內容。 |
|||
=== 賦予數值意義 === |
|||
{{TOJ side box|630|D. 花子一口吞}} |
|||
110 學年度資訊學科能力競賽臺南一中校內初選 D. 花子一口吞 |
|||
{{Quote |
|||
|給長度 N 的正整數數列 A,求一區間使「區間和 mod K」最大。 |
|||
|原始題敘(Level 2) |
|||
}} |
|||
{{Quote |
|||
|有容量不同的飼料盆排成一列,要把一個區間的飼料全部吃完,吃的時候會把嘴巴塞滿才吞下去,詢問最後一口剩餘在嘴中的飼料數量。 |
|||
|包裝題敘(Level 3) |
|||
}} |
|||
雖然原始題敘已經充分說明題目,但若僅使用原始題敘,參賽者可能就會有「數列?區間?為什麼要 mod K?」等疑惑,但透過故事包裝,將數列轉換為飼料盆內的飼料量、K 轉換為嘴巴的容量、mod K 轉換為吞下飼料的行為,讓題目變成現實生活中可能發生的情境,先透過故事引導參賽者融入情境,這時候再提出問題,便很容易理解問題是什麼。一些演算法原本就能解決現實生活中的問題,因此以實際會遇到的情境去包裝題目問題就能讓題目變得很易懂。 |
|||
=== 解決邏輯錯誤 === |
|||
{{TOJ side box|556|B. 舞會}} |
|||
{{Quote| |
|||
有 <math>N</math> 個人要爬 <math>K</math> 層樓梯。<br> |
|||
每個人一開始都在第 <math>0</math> 層,且第 <math>i</math> 個人會每秒上升 <math>a_i</math> 層。<br> |
|||
現在有 <math>M</math> 罐運動飲料,每一瓶可以讓第 <math>i</math> 個人瞬間上升 <math>b_i</math> 層。一個人可以喝多瓶,也可以完全不喝。<br> |
|||
請問在最優的分配下,最快幾秒可以讓所有人可以上升到樓梯頂部 ( 層數 <math>\ge K</math> 即視為在樓梯頂部 )。 |
|||
|未採用題敘(Level 3) |
|||
}} |
|||
{{Quote| |
|||
雪乃和伊呂波在準備畢業舞會,準備工作非常繁雜,有 <math>N</math> 項工作需要完成。<br> |
|||
為了好好管理進度,雪乃將每項工作都等分成 <math>K</math> 份。<br> |
|||
而雪乃和伊呂波一起工作的話,對於第 <math>i</math> 項工作,每天可以完成那項工作的 <math>a_i</math> 份(每項工作每天都會做,且恰好完成 <math>a_i</math> 份,無法把時間挪用給其他工作,就算有一些項目的工作已經完成,也不會增加其他工作的效率)。<br> |
|||
但是怕工作做不完,恰好又有 <math>M</math> 筆經費,所以決定把部份工作外包。<br> |
|||
每筆經費對於第 <math>i</math> 項工作,可以將那項工作的 <math>b_i</math> 份外包,外包的部分可不計入花費時間直接視為完成。<br> |
|||
請問在最佳分配經費的情況下,最少幾天就能完成所有工作(不足一天以一天計)。 |
|||
|正式題敘(Level 3) |
|||
}} |
|||
雖然未採用題敘直接在正式競賽中使用並沒有什麼問題……但運動飲料可以讓人「瞬間」上升怎麼想都不合理,而且運動飲料不是增加每個人的體能而是讓人直接上升,所以對不同人的效果為何有不同效果(<math>b_i</math>)也缺乏合理解釋。改成工作外包後,不同工作在同樣經費下能外包的工作量本來就不同,而且外包也能作為工作量直接消失的理由。 |
|||
=== 測驗閱讀理解 === |
|||
2008 網際網路程式設計全國大賽高中組決賽 B. 幼稚國王去旅行 |
|||
{{Quote |
|||
|輸出 1 就是答案。 |
|||
|根本是答案(Level 1) |
|||
}} |
|||
{{Quote |
|||
|參見 [https://contest.cc.ntu.edu.tw/npsc2008/2008sen_final.pdf 題本]。 |
|||
|包裝題敘(Level 3) |
|||
}} |
|||
一個反例是將簡單的題目包裝起來,測驗參賽者的閱讀理解能力。另外對於 Hello World 或是 A+B 等題目,包裝一點故事才不會讓題敘過短。 |
|||
=== 總結 === |
|||
總結,使用故事來包裝題目敘述可以: |
|||
# 更容易理解題目。 |
|||
# 純粹測試閱讀能力。 |
|||
# 讓題目有趣一些。 |
|||
# 讓不會解題的參賽者在競賽中不至於那麼無聊。 |
|||
# 讓出題者對喜愛的作品置入性行銷。 |
|||
== 題本架構 == |
|||
=== 一般 === |
|||
{{TOJ side box |
|||
|629|C. GAMAGAMA |
|||
|630|D. 花子一口吞 |
|||
|637|D. 本田小狼 |
|||
}} |
|||
能使用故事來包裝的題目,題目本文的架構通常如下: |
|||
一開始用少數幾句話介紹世界觀,通常與所參考的作品相同,這邊的介紹對解題通常沒有幫助,例如: |
|||
* {{TOJ|629}} ─ GAMAGAMA 水族館面臨即將停業的危機 |
|||
* {{TOJ|630}} ─ 自稱為半龍人的貪吃少女 — 花子,實際上卻是魔界四大公爵-龍族法夫納家的下任家主! |
|||
* {{TOJ|637}} ─ 今天小熊騎著本田小狼 50 兜風 |
|||
進一步介紹故事劇情,這裡就會提到測資中會出現的設定,例如城市與道路的數量,例如: |
|||
* {{TOJ|629}} ─ GAMAGAMA 水族館有兩條觀察大型水族箱的海底隧道... |
|||
* {{TOJ|630}} ─ 她會選定某盆飼料開始一顆顆往嘴巴裡吃,一但到達嘴巴能裝的最多數量 K,就會一口吞下! |
|||
* {{TOJ|637}} ─ 如果將所有的景點、店家等等都當作是一個節點,並且依序將節點從 1~n 編號,制高點編號為 1 |
|||
最後提出題目真正要詢問的問題,例如: |
|||
* {{TOJ|629}} ─ 為了控制不要讓積分過度膨脹,必須先進行模擬 |
|||
* {{TOJ|630}} ─ 請幫助花子找到留下最多飼料當作點心的方法 |
|||
* {{TOJ|637}} ─ 請問小熊可以選擇的地點有多少個? |
|||
{{TOJ side box |
|||
|507|A. 二分圖匹配(說明圖片位於第 2 頁最上方) |
|||
|570|E. 存在X(說明圖片位於本文尾端) |
|||
}} |
|||
如果題意需要圖片輔助說明,可放在本文尾端(較短的本文)或其他合適地方(較長的本文),如果題目沒有[[#插圖|插圖]],亦可放置在插圖處。 |
|||
{{clear}} |
|||
=== 無法包裝的題目 === |
|||
但還是有一些題目實在不會在現實生活中遇到,這時候只好勉為其難使用爛招,也就是在題目敘述寫一些無關緊要的描述,最後再直白的亮出問題。 |
|||
==== Hello World ==== |
|||
{{TOJ side box |
|||
|547|0. Hello World |
|||
|618|A. 比賽須知 |
|||
|633|G. 簡單易懂的現代魔法 |
|||
}} |
|||
對於直接輸出 Hello World 的題目,實在沒有什麼劇情可言,通常做法是隨便介紹一下 Hello World 的由來,然後在輸出說明要求輸出 Hello World 而已。 |
|||
{{clear}} |
|||
==== 數學題目 ==== |
|||
{{Quote |
|||
|題目:請用「XX」造句。 |
|||
答案:「今天老師出了一個題目,讓我們用XX造句。」 |
|||
|造句的爛招 |
|||
}} |
|||
{{TOJ side box |
|||
|571|F. 大家來找碴 |
|||
|638|E. 遞迴呀遞迴 |
|||
}} |
|||
如同以上造句的通用解答,實際上對於所有題目也可以使用以下的通用敘述: |
|||
{{Quote |
|||
|...(毫無意義的故事,通常與教室、老師有關)... |
|||
老師問了一個問題,請解出 XXXXX(題目本身)。 |
|||
|數學題目的題目本文 |
|||
}} |
|||
== 插圖 == |
|||
{{Memo|'''簡而言之:''' |
|||
# 壓縮圖片大小到寬度 640px 並轉換成 JPG 檔。 |
|||
# 標註圖片來源。 |
|||
|}} |
|||
題目插圖通常與題目本文中使用的故事相關,來提高參賽者解題興趣,例如使用動畫設定作為背景故事則會使用該動畫的截圖。無論有無插圖都不影響題意理解,故插圖不是必須的。插圖通常放置於標題下方、本文的最上方。 |
|||
若使用[[TPS]]題本格式<ref>https://github.com/TNFSH-Programming-Contest/tps-task-templates/blob/main/default/statement/index.md</ref>,可使用以下語法: |
|||
<syntaxhighlight lang="text"> |
|||
\begin{figure}[h] |
|||
\centering |
|||
\includegraphics[width=12cm]{FILENAME.jpg} |
|||
\caption{圖片說明,出自動畫《動畫名稱》} |
|||
\end{figure} |
|||
</syntaxhighlight> |
|||
{{TOJ side box|571|F. 大家來找碴}} |
|||
建議可使用有[[zhwiki:創用CC授權條款|創用CC]]等授權條款,或其他明確向公眾授權的圖片,例如吉卜力工作室的動畫劇照<ref>https://www.ghibli.jp/info/013409/</ref>等。 |
|||
{{clear}} |
|||
{{Legal}} |
|||
引用受著作權保護的圖片將依著作權法<ref>https://law.moj.gov.tw/LawClass/LawAll.aspx?PCode=J0070017</ref>第 52 條<ref>https://law.moj.gov.tw/LawClass/LawSingle.aspx?pcode=J0070017&flno=52</ref>以教學為目的主張[[zhwiki:合理使用|合理使用]]。唯應依同法第 64 條<ref>https://law.moj.gov.tw/LawClass/LawSingle.aspx?pcode=J0070017&flno=64</ref>標明出處,在圖片說明以「出自動畫《動畫名稱》」等字樣標示。另根據同法第 65 條<ref name="copyright-act-65">https://law.moj.gov.tw/LawClass/LawSingle.aspx?pcode=J0070017&flno=65</ref>第 2 款第 3 項,縮小圖片解析度,建議在 12cm 的顯示效果下將圖片寬度壓縮至 640 px(16:9 的圖片高度為 360px)。 |
|||
<div style="float: right;"> |
|||
{{TOJ side box |
|||
|330|A. Piñata |
|||
|331|B. 尼莫西妮 |
|||
|332|C. 棋盤 |
|||
|333|D. 畢業 |
|||
|334|E. 蛋糕 |
|||
|335|F. 參訪者們 |
|||
|336|G. 禮物 |
|||
}} |
|||
</div> |
|||
<div style="float: right;"> |
|||
[[檔案:Request permission for K.R.T. Girls.png|200px|縮圖|左|取得授權範例,第四屆大臺南高一生程式設計排名賽]] |
|||
</div> |
|||
如果可行,應嘗試向著作權人取得授權(如右圖),依著作權法第 65 條<ref name="copyright-act-65"/>第 3 項確認合理使用範圍,例如第四屆大臺南高一生程式設計排名賽所使用的圖片。 |
|||
{{clear}} |
|||
{{reflist-talk}} |
|||
== 資料結構與故事設定 == |
|||
=== 求餘數 === |
|||
{{TOJ side box |
|||
|630|D. 花子一口吞 |
|||
}} |
|||
除法的求餘數可以轉換成多次的減法,例如: |
|||
# 使用容量為 K 的水瓢從水缸舀水直到無法盛滿水瓢,問最後剩餘的水量。 |
|||
若僅是答案過大而需要取餘數輸出,可以直接寫在輸出說明,不一定要作為題敘的一部分。 |
|||
=== 圖 === |
|||
{{TOJ side box |
|||
|568|C. ChamJam |
|||
}} |
|||
圖論問題通常可以轉換為: |
|||
# 城市與相連的道路。 |
|||
# 車站與相連的鐵路。 |
|||
==== 有向無環圖 ==== |
|||
{{TOJ side box |
|||
|569|D. 露營 |
|||
}} |
|||
有向無環圖可拆成「有向」和「無環」兩個性質。「有向」可簡單地描述為單向道即可。「無環」則可以在題目中暗示說不會走到重複的點。 |
|||
=== 樹 === |
|||
{{TOJ side box |
|||
|563|C. 車站 |
|||
}} |
|||
樹仍可以轉換為道路或鐵路,但加上「因為資源有限,所以能讓任兩個城市或車站連通即可」的設定。 |
|||
==== 最小生成樹 ==== |
|||
最小生成樹通常用於要建立道路相連多個城市,使得所有城市連通,權重為該條道路的建設成本,目標為總建設成本最低。 |
|||
=== 有根樹 === |
|||
{{TOJ side box |
|||
|637|D. 本田小狼 |
|||
}} |
|||
有根樹可以轉換為根節點位於山頂,邊為往山下的道路。 |
|||
== 故事題材 == |
== 故事題材 == |
||
故事 |
故事通常是由編寫者挑選自己熟悉的作品,內容包含日本動畫、遊戲、VTuber等等題材。並且可以在題敘中進行置入性行銷,推薦自己喜愛的作品。 |
||
=== 使用日本動畫的題目 === |
=== 使用日本動畫的題目 === |
||
行 44: | 行 281: | ||
{{story-anime-row|2021|7|Love Live! Superstar!!|632|F. 最小生成數|110學年度資訊學科能力競賽臺南一中校內初選}} |
{{story-anime-row|2021|7|Love Live! Superstar!!|632|F. 最小生成數|110學年度資訊學科能力競賽臺南一中校內初選}} |
||
{{story-anime-row|2009|7|簡單易懂的現代魔法|633|G. 簡單易懂的現代魔法|110學年度資訊學科能力競賽臺南一中校內初選}} |
{{story-anime-row|2009|7|簡單易懂的現代魔法|633|G. 簡單易懂的現代魔法|110學年度資訊學科能力競賽臺南一中校內初選}} |
||
{{story-anime-row|2018|10|JoJo的奇妙冒險_(電視動畫)|anime=JoJo的奇妙冒險·第四部·不滅鑽石|634|A. 吉良吉影想平靜地過日子|110學年度資訊學科能力競賽臺南一中校內複選}} |
|||
{{story-anime-row|2021|7|我們的重製人生|635|B. 學測分發|110學年度資訊學科能力競賽臺南一中校內複選}} |
|||
{{story-anime-row|2019|8|為美好的世界獻上祝福!紅傳說|636|C. 為美好的地牢獻上爆擊|110學年度資訊學科能力競賽臺南一中校內複選}} |
|||
{{story-anime-row|2021|4|本田小狼與我|637|D. 本田小狼|110學年度資訊學科能力競賽臺南一中校內複選}} |
|||
{{story-anime-row|1996|4|玩偶遊戲|638|E. 遞迴呀遞迴|110學年度資訊學科能力競賽臺南一中校內複選}} |
|||
|} |
|} |
||
=== 使用《{{zhwiki|愛麗絲與藏六}}》的題目 === |
=== 使用《{{zhwiki|愛麗絲與藏六}}》的題目 === |
||
* 106學年度台南一中資訊學科能力競賽校內初選 |
|||
* {{TOJ|373}} - A.實驗場 |
** {{TOJ|373}} - A.實驗場 |
||
* {{TOJ|374}} - B.飢餓的Sana |
** {{TOJ|374}} - B.飢餓的Sana |
||
* {{TOJ|375}} - C.餐桌禮儀 |
** {{TOJ|375}} - C.餐桌禮儀 |
||
* {{TOJ|376}} - D.綁架 |
** {{TOJ|376}} - D.綁架 |
||
* {{TOJ|377}} - E.奪回作戰 |
** {{TOJ|377}} - E.奪回作戰 |
||
* {{TOJ|378}} - F.避難 |
** {{TOJ|378}} - F.避難 |
||
=== 使用《{{zhwiki|高捷少女}}》的題目 === |
=== 使用《{{zhwiki|高捷少女}}》的題目 === |
||
* |
* 第四屆大臺南高一生程式設計排名賽 |
||
** {{TOJ|330}} - A. Piñata |
|||
* {{TOJ|331}} - B. 尼莫西妮(第四屆大臺南高一生程式設計排名賽) |
|||
** {{TOJ|331}} - B. 尼莫西妮 |
|||
* {{TOJ|332}} - C. 棋盤(第四屆大臺南高一生程式設計排名賽) |
|||
** {{TOJ|332}} - C. 棋盤 |
|||
* {{TOJ|333}} - D. 畢業(第四屆大臺南高一生程式設計排名賽) |
|||
** {{TOJ|333}} - D. 畢業 |
|||
* {{TOJ|334}} - E. 蛋糕(第四屆大臺南高一生程式設計排名賽) |
|||
** {{TOJ|334}} - E. 蛋糕 |
|||
* {{TOJ|335}} - F. 參訪者們(第四屆大臺南高一生程式設計排名賽) |
|||
** {{TOJ|335}} - F. 參訪者們 |
|||
* {{TOJ|336}} - G. 禮物(第四屆大臺南高一生程式設計排名賽) |
|||
** {{TOJ|336}} - G. 禮物 |
|||
* {{TOJ|399}} - A. 大數運算(2018臺南一中資訊社寒訓練習賽) |
* {{TOJ|399}} - A. 大數運算(2018臺南一中資訊社寒訓練習賽) |
||
=== 使用《{{zhwiki|海綿寶寶}}》的題目 === |
=== 使用《{{zhwiki|海綿寶寶}}》的題目 === |
||
* 107學年度國際資訊奧林匹亞研習營初選臺南一中校內選拔 |
|||
* {{TOJ|461}} - A. 海綿寶寶的時鐘 |
** {{TOJ|461}} - A. 海綿寶寶的時鐘 |
||
* {{TOJ|462}} - B. 海綿寶寶捉水母 |
** {{TOJ|462}} - B. 海綿寶寶捉水母 |
||
* {{TOJ|463}} - C. 我的酸黃瓜呢 |
** {{TOJ|463}} - C. 我的酸黃瓜呢 |
||
* {{TOJ|464}} - D. 找樂子就是要燒掉整個城製造出大大的炸彈 |
** {{TOJ|464}} - D. 找樂子就是要燒掉整個城製造出大大的炸彈 |
||
* {{TOJ|465}} - E. 打屁屁大隊 |
** {{TOJ|465}} - E. 打屁屁大隊 |
||
* {{TOJ|466}} - F. 升天電梯 |
** {{TOJ|466}} - F. 升天電梯 |
||
* 2020臺南一中校內程式設計大賽 |
|||
* {{TOJ|510}} - D. 公平洗牌 |
** {{TOJ|510}} - D. 公平洗牌 |
||
* {{TOJ|511}} - E. 野海熊防護圈 |
** {{TOJ|511}} - E. 野海熊防護圈 |
||
* {{TOJ|512}} - F. 樓層交換 |
** {{TOJ|512}} - F. 樓層交換 |
於 2022年9月7日 (三) 15:42 的最新修訂
使用故事來包裝題目敘述,可以幫助參賽者更容易了解題目,又或是考驗參賽者的閱讀理解能力。
包裝程度比較
可參考 TOJ 的題目 | |
|
以下使用的範例為 TOJ 570(109 學年度資訊學科能⼒競賽臺南⼀中校內複選,E. 存在X)在準備競賽時題目敘述演進過程的真實案例。
Level 1
問是否可以以 骨牌組成給定的遞增圖形。
由出題者寫出來最原始的題目敘述,通常還需要額外的口頭補充解釋才能讓其他人理解題目,這樣的敘述僅能夠讓命題團隊的其他成員記得題目內容,但不足以在正式競賽中使用。
Level 2
給一個 的方格圖,其中每個格子皆有 黑/白 其中一個顏色。
顏色符合以下條件:
對於第 行, 為白色,而 為黑色
對於 ,。
問是否可以用 的骨牌將所有白色區塊填滿,使得任一個白色格子恰被一個骨牌覆蓋。
由出題者完善的題目敘述,這樣的敘述能夠讓未看過題目的人在沒有額外口頭補充下理解題目。若沒有能力改寫成 Level 3 的題敘,在正式競賽中使用這種題敘尚可接受。
Level 3
那是有一個魔法軍隊的戰爭時代,譚雅是帝國軍二〇三航空魔導大隊的大隊長。
帝國的國力逐漸變得強大,引起鄰國的不安,想趕在被消滅前先下手為強。
這天某個國家又跨越邊境前來進犯,譚雅奉命前去驅趕敵人。
敵軍佔領的區域可以由左至右等距分成 格,而從邊境線往內陸也按相同距離切割成數格。
譚雅發現越靠右方的戰線,離邊境的距離可能與相鄰左方相等或更遠。
魔導大隊的魔法攻擊可以轟炸 或 的方格。
所有敵軍佔領的區域都必須轟炸,但為了節省資源,不想要重複轟炸相同格子,也不想轟炸沒有敵軍佔領的區域。
請問譚雅是否能達成這個目標呢?
經過故事設定的包裝,是正式競賽中常見的題目敘述,能夠讓參賽者充分理解題意。
目的
題目敘述通常會編寫故事來讓參賽者融入該問題的情境,以更好地了解題目所要問的內容。
賦予數值意義
可參考 TOJ 的題目 | |
|
110 學年度資訊學科能力競賽臺南一中校內初選 D. 花子一口吞
給長度 N 的正整數數列 A,求一區間使「區間和 mod K」最大。
——原始題敘(Level 2)
有容量不同的飼料盆排成一列,要把一個區間的飼料全部吃完,吃的時候會把嘴巴塞滿才吞下去,詢問最後一口剩餘在嘴中的飼料數量。
——包裝題敘(Level 3)
雖然原始題敘已經充分說明題目,但若僅使用原始題敘,參賽者可能就會有「數列?區間?為什麼要 mod K?」等疑惑,但透過故事包裝,將數列轉換為飼料盆內的飼料量、K 轉換為嘴巴的容量、mod K 轉換為吞下飼料的行為,讓題目變成現實生活中可能發生的情境,先透過故事引導參賽者融入情境,這時候再提出問題,便很容易理解問題是什麼。一些演算法原本就能解決現實生活中的問題,因此以實際會遇到的情境去包裝題目問題就能讓題目變得很易懂。
解決邏輯錯誤
可參考 TOJ 的題目 | |
|
有 個人要爬 層樓梯。
每個人一開始都在第 層,且第 個人會每秒上升 層。
現在有 罐運動飲料,每一瓶可以讓第 個人瞬間上升 層。一個人可以喝多瓶,也可以完全不喝。
請問在最優的分配下,最快幾秒可以讓所有人可以上升到樓梯頂部 ( 層數 即視為在樓梯頂部 )。——未採用題敘(Level 3)
雪乃和伊呂波在準備畢業舞會,準備工作非常繁雜,有 項工作需要完成。
為了好好管理進度,雪乃將每項工作都等分成 份。
而雪乃和伊呂波一起工作的話,對於第 項工作,每天可以完成那項工作的 份(每項工作每天都會做,且恰好完成 份,無法把時間挪用給其他工作,就算有一些項目的工作已經完成,也不會增加其他工作的效率)。
但是怕工作做不完,恰好又有 筆經費,所以決定把部份工作外包。
每筆經費對於第 項工作,可以將那項工作的 份外包,外包的部分可不計入花費時間直接視為完成。
請問在最佳分配經費的情況下,最少幾天就能完成所有工作(不足一天以一天計)。——正式題敘(Level 3)
雖然未採用題敘直接在正式競賽中使用並沒有什麼問題……但運動飲料可以讓人「瞬間」上升怎麼想都不合理,而且運動飲料不是增加每個人的體能而是讓人直接上升,所以對不同人的效果為何有不同效果()也缺乏合理解釋。改成工作外包後,不同工作在同樣經費下能外包的工作量本來就不同,而且外包也能作為工作量直接消失的理由。
測驗閱讀理解
2008 網際網路程式設計全國大賽高中組決賽 B. 幼稚國王去旅行
輸出 1 就是答案。
——根本是答案(Level 1)
參見 題本。
——包裝題敘(Level 3)
一個反例是將簡單的題目包裝起來,測驗參賽者的閱讀理解能力。另外對於 Hello World 或是 A+B 等題目,包裝一點故事才不會讓題敘過短。
總結
總結,使用故事來包裝題目敘述可以:
- 更容易理解題目。
- 純粹測試閱讀能力。
- 讓題目有趣一些。
- 讓不會解題的參賽者在競賽中不至於那麼無聊。
- 讓出題者對喜愛的作品置入性行銷。
題本架構
一般
可參考 TOJ 的題目 | |
能使用故事來包裝的題目,題目本文的架構通常如下:
一開始用少數幾句話介紹世界觀,通常與所參考的作品相同,這邊的介紹對解題通常沒有幫助,例如:
- TOJ 629 ─ GAMAGAMA 水族館面臨即將停業的危機
- TOJ 630 ─ 自稱為半龍人的貪吃少女 — 花子,實際上卻是魔界四大公爵-龍族法夫納家的下任家主!
- TOJ 637 ─ 今天小熊騎著本田小狼 50 兜風
進一步介紹故事劇情,這裡就會提到測資中會出現的設定,例如城市與道路的數量,例如:
- TOJ 629 ─ GAMAGAMA 水族館有兩條觀察大型水族箱的海底隧道...
- TOJ 630 ─ 她會選定某盆飼料開始一顆顆往嘴巴裡吃,一但到達嘴巴能裝的最多數量 K,就會一口吞下!
- TOJ 637 ─ 如果將所有的景點、店家等等都當作是一個節點,並且依序將節點從 1~n 編號,制高點編號為 1
最後提出題目真正要詢問的問題,例如:
可參考 TOJ 的題目 | |
如果題意需要圖片輔助說明,可放在本文尾端(較短的本文)或其他合適地方(較長的本文),如果題目沒有插圖,亦可放置在插圖處。
無法包裝的題目
但還是有一些題目實在不會在現實生活中遇到,這時候只好勉為其難使用爛招,也就是在題目敘述寫一些無關緊要的描述,最後再直白的亮出問題。
Hello World
可參考 TOJ 的題目 | |
對於直接輸出 Hello World 的題目,實在沒有什麼劇情可言,通常做法是隨便介紹一下 Hello World 的由來,然後在輸出說明要求輸出 Hello World 而已。
數學題目
題目:請用「XX」造句。
答案:「今天老師出了一個題目,讓我們用XX造句。」
——造句的爛招
可參考 TOJ 的題目 | |
如同以上造句的通用解答,實際上對於所有題目也可以使用以下的通用敘述:
...(毫無意義的故事,通常與教室、老師有關)...
老師問了一個問題,請解出 XXXXX(題目本身)。
——數學題目的題目本文
插圖
- 壓縮圖片大小到寬度 640px 並轉換成 JPG 檔。
- 標註圖片來源。
題目插圖通常與題目本文中使用的故事相關,來提高參賽者解題興趣,例如使用動畫設定作為背景故事則會使用該動畫的截圖。無論有無插圖都不影響題意理解,故插圖不是必須的。插圖通常放置於標題下方、本文的最上方。
\begin{figure}[h]
\centering
\includegraphics[width=12cm]{FILENAME.jpg}
\caption{圖片說明,出自動畫《動畫名稱》}
\end{figure}
可參考 TOJ 的題目 | |
|
建議可使用有創用CC等授權條款,或其他明確向公眾授權的圖片,例如吉卜力工作室的動畫劇照[2]等。
引用受著作權保護的圖片將依著作權法[3]第 52 條[4]以教學為目的主張合理使用。唯應依同法第 64 條[5]標明出處,在圖片說明以「出自動畫《動畫名稱》」等字樣標示。另根據同法第 65 條[6]第 2 款第 3 項,縮小圖片解析度,建議在 12cm 的顯示效果下將圖片寬度壓縮至 640 px(16:9 的圖片高度為 360px)。
如果可行,應嘗試向著作權人取得授權(如右圖),依著作權法第 65 條[6]第 3 項確認合理使用範圍,例如第四屆大臺南高一生程式設計排名賽所使用的圖片。
參考資料
- ↑ https://github.com/TNFSH-Programming-Contest/tps-task-templates/blob/main/default/statement/index.md
- ↑ https://www.ghibli.jp/info/013409/
- ↑ https://law.moj.gov.tw/LawClass/LawAll.aspx?PCode=J0070017
- ↑ https://law.moj.gov.tw/LawClass/LawSingle.aspx?pcode=J0070017&flno=52
- ↑ https://law.moj.gov.tw/LawClass/LawSingle.aspx?pcode=J0070017&flno=64
- ↑ 6.0 6.1 https://law.moj.gov.tw/LawClass/LawSingle.aspx?pcode=J0070017&flno=65
資料結構與故事設定
求餘數
可參考 TOJ 的題目 | |
|
除法的求餘數可以轉換成多次的減法,例如:
- 使用容量為 K 的水瓢從水缸舀水直到無法盛滿水瓢,問最後剩餘的水量。
若僅是答案過大而需要取餘數輸出,可以直接寫在輸出說明,不一定要作為題敘的一部分。
圖
可參考 TOJ 的題目 | |
|
圖論問題通常可以轉換為:
- 城市與相連的道路。
- 車站與相連的鐵路。
有向無環圖
可參考 TOJ 的題目 | |
|
有向無環圖可拆成「有向」和「無環」兩個性質。「有向」可簡單地描述為單向道即可。「無環」則可以在題目中暗示說不會走到重複的點。
樹
可參考 TOJ 的題目 | |
|
樹仍可以轉換為道路或鐵路,但加上「因為資源有限,所以能讓任兩個城市或車站連通即可」的設定。
最小生成樹
最小生成樹通常用於要建立道路相連多個城市,使得所有城市連通,權重為該條道路的建設成本,目標為總建設成本最低。
有根樹
可參考 TOJ 的題目 | |
|
有根樹可以轉換為根節點位於山頂,邊為往山下的道路。
故事題材
故事通常是由編寫者挑選自己熟悉的作品,內容包含日本動畫、遊戲、VTuber等等題材。並且可以在題敘中進行置入性行銷,推薦自己喜愛的作品。
使用日本動畫的題目
動畫季別 | 動畫名稱 | 題目 | 備註 |
---|---|---|---|
2017年7月 | Princess Principal | TOJ 400 - B. 羅馬數字 | 2018臺南一中資訊社寒訓練習賽 |
2018年1月 | 庫洛魔法使:透明牌篇 | TOJ 401 - C. 封印解除 | 2018臺南一中資訊社寒訓練習賽 |
2018年1月 | 爆肝工程師的異世界狂想曲 | TOJ 402 - D. 咒文詠唱 | 2018臺南一中資訊社寒訓練習賽 |
2017年10月 | 少女終末旅行 | TOJ 403 - E. 旅行問題 | 2018臺南一中資訊社寒訓練習賽 |
2020年1月 | 戀愛中的小行星 | TOJ 507 - A. 二分圖匹配 | 2020臺南一中校內程式設計大賽 |
2020年1月 | 戀愛中的小行星 | TOJ 508 - B. 完美河道 | 2020臺南一中校內程式設計大賽 |
2020年1月 | 戀愛中的小行星 | TOJ 509 - C. Puyo | 2020臺南一中校內程式設計大賽 |
2019年9月 | HELLO WORLD | TOJ 547 - 0. Hello World | 第七屆國中生程設營練習賽 |
2020年7月 | 魔王學院的不適任者~史上最強的魔王始祖,轉生就讀子孫們的學校~ | TOJ 548 - A. 阿諾斯·波魯迪戈烏多 | 第七屆國中生程設營練習賽 |
2016年1月 | 為美好的世界獻上祝福! | TOJ 553 - F. 更改咒語 | 第七屆國中生程設營練習賽 |
2020年4月 | 輝夜姬想讓人告白~天才們的戀愛頭腦戰~第2季 | TOJ 554 - G. 石上真男人 | 第七屆國中生程設營練習賽 |
2020年2月 | 哥布林殺手:GOBLIN'S CROWN | TOJ 555 - A. 哥布林 | 109學年度資訊學科能力競賽臺南一中校內初選 |
2020年7月 | 果然我的青春戀愛喜劇搞錯了。完 | TOJ 556 - B. 舞會 | 109學年度資訊學科能力競賽臺南一中校內初選 |
2020年1月 | 怕痛的我,把防禦力點滿就對了 | TOJ 564 - D. 大楓樹 | 109學年度資訊學科能力競賽臺南一中校內初選 |
2020年1月 | 緣結熊本 | TOJ 565 - E. 熊本 | 109學年度資訊學科能力競賽臺南一中校內初選 |
2020年10月 | 熊熊勇闖異世界 | TOJ 566 - A. 熊熊 | 109學年度資訊學科能力競賽臺南一中校內複選 |
2020年7月 | Lapis Re:LiGHTs | TOJ 567 - B. LiGHTs | 109學年度資訊學科能力競賽臺南一中校內複選 |
2020年1月 | 神推偶像登上武道館我就死而無憾 | TOJ 568 - C. ChamJam | 109學年度資訊學科能力競賽臺南一中校內複選 |
2020年1月 | 房間露營△ | TOJ 569 - D. 露營 | 109學年度資訊學科能力競賽臺南一中校內複選 |
2017年1月 | 幼女戰記 | TOJ 570 - E. 存在X | 109學年度資訊學科能力競賽臺南一中校內複選 |
2021年1月 | 轉生成蜘蛛又怎樣! | TOJ 579 - pA - 蜘蛛 | SCIST 第一屆 演算法季後賽 |
2021年4月 | 壽司大相撲 | TOJ 581 - pB - 壽司 | SCIST 第一屆 演算法季後賽 |
2021年4月 | Vivy -Fluorite Eye's Song- | TOJ 582 - pC - Vivy | SCIST 第一屆 演算法季後賽 |
2021年4月 | 持續狩獵史萊姆三百年,不知不覺就練到LV MAX | TOJ 583 - pD - Slime | SCIST 第一屆 演算法季後賽 |
2021年4月 | 轉生史萊姆日記 關於我轉生變成史萊姆這檔事 | TOJ 584 - pE - 種田 | SCIST 第一屆 演算法季後賽 |
2021年7月 | 陰晴不定的體操哥哥 | TOJ 627 - A. ABC體操 | 110學年度資訊學科能力競賽臺南一中校內初選 |
2020年7月 | 果然我的青春戀愛喜劇搞錯了。完 | TOJ 628 - B. 國中會考分發 | 110學年度資訊學科能力競賽臺南一中校內初選 |
2021年7月 | 白沙的Aquatope | TOJ 629 - C. GAMAGAMA | 110學年度資訊學科能力競賽臺南一中校內初選 |
2019年10月 | 萌獸寵物店 | TOJ 630 - D. 花子一口吞 | 110學年度資訊學科能力競賽臺南一中校內初選 |
2021年7月 | 關於我轉生變成史萊姆這檔事第2期第2部分 | TOJ 631 - E. 蓋歐格 | 110學年度資訊學科能力競賽臺南一中校內初選 |
2021年7月 | Love Live! Superstar!! | TOJ 632 - F. 最小生成數 | 110學年度資訊學科能力競賽臺南一中校內初選 |
2009年7月 | 簡單易懂的現代魔法 | TOJ 633 - G. 簡單易懂的現代魔法 | 110學年度資訊學科能力競賽臺南一中校內初選 |
2018年10月 | JoJo的奇妙冒險·第四部·不滅鑽石 | TOJ 634 - A. 吉良吉影想平靜地過日子 | 110學年度資訊學科能力競賽臺南一中校內複選 |
2021年7月 | 我們的重製人生 | TOJ 635 - B. 學測分發 | 110學年度資訊學科能力競賽臺南一中校內複選 |
2019年8月 | 為美好的世界獻上祝福!紅傳說 | TOJ 636 - C. 為美好的地牢獻上爆擊 | 110學年度資訊學科能力競賽臺南一中校內複選 |
2021年4月 | 本田小狼與我 | TOJ 637 - D. 本田小狼 | 110學年度資訊學科能力競賽臺南一中校內複選 |
1996年4月 | 玩偶遊戲 | TOJ 638 - E. 遞迴呀遞迴 | 110學年度資訊學科能力競賽臺南一中校內複選 |
使用《愛麗絲與藏六》的題目
- 106學年度台南一中資訊學科能力競賽校內初選
使用《高捷少女》的題目
- 第四屆大臺南高一生程式設計排名賽
- TOJ 399 - A. 大數運算(2018臺南一中資訊社寒訓練習賽)