## **資訊之芽竹區C語法班心得** :::info **時間:高一下 (3/5 ~ 7/8 每週六上午 9:00 ~ 12:00) 地點:清大資電館三樓 成績:第二階段一般結業** ::: :::info **2025/09/02** 大一的我誠摯地向資芽講師道歉,我在上stringstream的時候並沒有認真聽導致我現在因為一題水題大燒雞,超丟臉各位一定要認真上課。 ::: ### **夢最開始的地方** 資研社學姊:「想精進語法的話,很推薦資訊之芽喔喔喔!!!」 於是我就去報名了,也很幸運地過了入芽考,進入C語法班。 ( 語法班的入芽考並不難,只考邏輯不上機 ) btw 語法班女生有 50% 保障名額,可以說是交白卷都能上了吧。 ~~我有去寫算法班的前測,而一個連語法都不熟的人的結果當然是...你懂的~~ 剛好有另外兩位同班同學一起報名,不得不說,有同伴就可以互相督促是真的。 ### **第一階段與橫衝直撞** :::info **授課內容:基礎I/O、變數、運算子、if-else、loop、陣列、字串、函數、指標** ::: 一開始的課程是真的很簡單,練習題不用五分鐘就能寫出來的那種。 社師建議我去寫寫看 toi 新手組的題目測測看實力,用一節資訊課 50 分鐘寫出 220 / 300 的分數。 ( 很爛我知道, 但對當時的我來說是很大的鼓勵 ) 第一次感受到難度是從 [neoj 999 螺旋矩陣](https://neoj.sprout.tw/problem/999/) 開始,這題課堂練習直到講師給詳解後,才有人寫出來。 ( 後來抓到了抄襲事件,一堆人都複製貼上詳解,真的不 OK 欸 ) 後來我發現這題的技巧非常實用,不管是社團考幹或校內培訓的時候,我都還是會用到這個想法。 喔對了,聽說第一階段的大魔王是指標。 不過在上學期的自主學習台大開放式課程中,我已經~~翻車過一次~~接觸過指標了,所以對觀念理解沒有太大的問題。 我覺得寫指標最重要的就是細心,要記得在心裡跑過一遍,注意邊緣,避免戳到奇怪的位置。 ~~還有該加括號的記得要加括號,來自慘痛的教訓~~  ▲ 輕鬆簡單的題目:[neoj 451 我沒辦法 AC 都是 13 的錯( if/ else )](https://neoj.sprout.tw/problem/451/)  ▲ 超級大魔王:[neoj 999 螺旋矩陣 ( array )](https://neoj.sprout.tw/problem/999/) 嗯,但**最醉罪奇葩且累的還得是大作業**。 大作業名字叫做 Sprout Crush ,其實就是實作 Candy Crush 的簡易版。 基礎的框架講師都已經寫好了,只要實作遊戲機制就行,聽起來超級簡單對吧 …… 呸!~~是在激動幾點~~ 先不說 **deadline 在段考週**,光裝環境我就處理了一天,遊戲盤面還跑出一坨亂碼是怎樣!!! 結果最後,我只有寫出 task 1,大概是 20 / 100。 小小抱怨一下,我爸在看到我的作業之後很感興趣,花了兩天把前面幾個 task 寫出來了~~淦~~,還不借我參考。 ~~呵,男人~~ 然後我階段考大燒雞,只有 180 / 400,沒被當也真的很神奇,應該是因為我的作業和練習題都有乖乖寫而且沒有抄襲吧。  ▲ Sprout Crush 部分程式碼  ▲ Sprout Crush 執行面板 ### **第二階段與遞迴撲街** :::info **授課內容:struct、template、class、動態陣列、STL、Stream IO、複雜度、好用的 fuction** ::: 第二階段開始接觸STL,算是算法的基礎。 而這個簡單的酷玩意一開始就給了我莫大的打擊,詳見 [neoj 20 中國人排隊問題](https://neoj.sprout.tw/problem/20/)。 掙扎了很久才寫出來,後來聽學校的培訓再加強了一次,大感謝 :mushroom: 就在此時,我也嘗到了遞迴的噁心之處。 其實第一階段的時候就教過遞迴~~甚至必修資訊也教過~~,但不知道為什麼到第二階段才正式怕遞迴。 ( 大概是TLE吃多了嗚嗚嗚 ) ~~後來發現 dp 真香~~  ▲ [neoj 2338 小普的密碼 ( String )](https://neoj.sprout.tw/problem/2338/)  ▲ [neoj 440 Stack 練習 ( STL )](https://neoj.sprout.tw/problem/36/) :::spoiler [neoj 20 中國人排隊問題](https://neoj.sprout.tw/problem/20/)完整程式碼 有點醜但反正 AC 了 <br> ```cpp= #include <iostream> #include <queue> using namespace std; int main() { int t, n, a, b, m, x; string c; cin >> t; for (int ii = 0; ii < t; ii++) { queue <int> bq; queue <int> q[1005]; int k[1000005] = {0}; cin >> n; cout << "Line #" << ii + 1 << "\n"; for (int i = 0; i < n; i++) { cin >> a; for (int j = 0; j < a; j++) { cin >> b; k[b] = i + 1; } } cin >> m; for (int i = 0; i < m; i++) { cin >> c; if (c == "ENQUEUE") { cin >> x; if (!k[x]) bq.push(0); else if (q[k[x]].empty()) bq.push(k[x]); q[k[x]].push(x); } else { cout << q[bq.front()].front() << "\n"; q[bq.front()].pop(); if (!bq.front()) bq.pop(); else if (q[bq.front()].empty()) bq.pop(); } } } } ``` ::: <br> 喔值得說的還有大作業,第二階段的大作業是**分組實作 Discord Bot**。 不得不承認,講師設計大作業真的很用心~~就是苦了學員~~。 最辛苦就是剛開始的時候,我們單單裝環境就裝了三天。 ( 此時距離 deadline 只剩四天 ) 因為對 D++ 函式庫非常不瞭解,我和朋友約在學校討論,一個上午都做不出東西,超級焦慮。 幸好講師常常開線上語音問題專區,我們會先互相確認這個問題是我們不知道該怎麼解決的,之後再去詢問~~不然會被碎碎念~~。 但有問題就不要猶豫不要害羞,問就對了,你糾結了很久的 BUG 電神用兩句話就能幫你解決。 我們從型別轉換出狀況都會哇哇叫的菜雞,慢慢覺得 D++ 有點可愛,用剩下的時間趕出了猜數字遊戲、日記等功能。 ( 當下覺得我們超偉大 ) ( 成發的時候發現北區有學員做出大富翁 …… 真的太強了…… orz )  ▲ Discord Bot 部分程式碼  ▲ 簡單的 Hello !  ▲ 減法與乘法四則運算  ▲ 猜數字遊戲  ▲ Discord 線上日記 如果想要看更多我們做的功能,可以從這裡看 [更多 Discord Bot 的功能](https://www.youtube.com/channel/UCaM8oF6vPKS0HeqlJB1Lz3g) ### **碎碎念與自豪與蕉綠們** 在這段期間,我更進一步地認識語法和資料結構,了解寫一個專案所需要具備的能力有哪些。 我也認識了很多志同道合的朋友,遇到一堆很電的電神⚡︎ ~~也提升了英讀能力,感謝偉大的 D++~~ 其實我一直想去考 APCS,但覺得自己實力不夠所以都沒去考。 ~~想去試的那次還太晚報,考場只剩彰化的學校~~ 聽說實作三級分其實不難,只要**細心**然後**把握部份分**就可以達到,這是我的目標。 之後我會繼續學習競程,既然已經從語法畢業,那就開始學算法吧。 如果還有機會的話,我會去資芽的算法班。 btw 在這段期間經歷了學科和考幹,學科方面我獲得了很大的進步 ! ! ! 我從零鴨蛋變成 120 / 400 了 ! ! 這樣就可以拿到校內佳作了開心耶耶 ( 虛榮 ) 至於考幹,我如願以償考上了資研的教學 ~~但只有五個人考幹嗚嗚~~ 希望我在教學期間也可以變得更強,成為那個「學科能力競賽破台的學姊」。 真是志向遠大。 :::info **提供一下資芽的各個網站:** **[官網點此](https://sprout.tw/spt/)、[2023 課程網站點此](https://tw-csie-sprout.github.io/c2023/#!index.md)、[2023 課程簡報點此](https://tw-csie-sprout.github.io/c2023/#!slides.md)** :::
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up