程式碼源 Y1 配套模擬練習

PuJunXi發表於2024-04-15

link

0b000001 雞兔同籠問題

暴力列舉,可以做到 \(\mathcal{O}(n)\)

只迴圈雞的個數,再求出兔。

aclink

0b000010 數位判斷1

模板求出 \(n\) 每一位,判斷總數的奇偶。

aclink

0b000011 暴擊

很明顯的貪心,排序後取前 \(m\) 大,將 \(a_i\)\(2\),剩下的相加。

aclink

0b000100 蛇形方陣1

考慮每一行的奇偶:

  • \(i\) 是偶數時反著輸出,從 \(i\times m\)\((i-1)m+1\)
  • \(i\) 是奇數時正著輸出,從 \((i-1)m+1\)\(i\times m\)

aclink

0b000101 開端

分類討論,不用多說。

aclink

0b000110 蝸蝸國身份證

模擬,按照指示一步步做。

aclink

0b000111 購買

很明顯的貪心,排序後從小的開始取,直到 \(m<=0\) 就不取了。

aclink

0x001000 蛇形方陣2

典中典,abc335dP5731 三倍經驗。

模擬,細節較多。

aclink

0b001001 開端升級版

模擬,分討。

aclink

0b001010 蝸蝸國過年了

先列印 \(n \bmod 10\),在跟著列印 \(\frac{n}{10}\)

aclink

0b001011 水仙花數

這道題還是挺有意思的。

直接暴搜,分別用填數法和自冪法構造,只要滿足 \(n=\sum^{m}_{i=1}dis(n,i)^m\)\(dis(n,i)\) 表示十進位制正整數 \(n\) 的第 \(i\) 位數字)便列印。

aclink

0b001100 數位判斷3

數位拆分加個判斷就好。

aclink

0b001101 超凡脫俗的 if 巢狀練習

一點也不牛。

照著它的題意做就行。

aclink

0b001110 盒子裡的球

陣列操作題。

按照題意模擬,不需要任何高階資料結構。

aclink

0b001111 字串比較

可以利用標頭檔案 ctype.h 中的 tolower()toupper() 函式轉換字母后判斷。

亦可以自己利用 ASCII 碼轉換。

aclink

0b010000 氣泡排序次數

先寫一個普通的氣泡排序,給一個標記。

  • 如果進行交換過,\(ans+1\)

  • 如果沒有,跳出。

這樣可以判斷出何時已經有序。

aclink

0b010001 666

簡單的數位拆分。

把每一位拆出來判斷。

aclink

0b010010 開關燈

就是一個判斷題,判斷每次操作的奇偶,對所對應的燈取反。

aclink

0b010011 列印樓梯

透過找規律不難看出列印規則:

\(h\) 行,第 \(i\) 行列印 \(ix\)*

aclink

0b010100 統計三角形個數

有小學知識應該看的出來是 \(\sum_{i=1}^{n}i\) 吧。

aclink

0b010101 買水果

直接輸出 \(2a+3b+5c\) 即可。

aclink

0b010110 上學路線

不用排序。

只要 \(t_i\leq m\)(不遲到),取 \(\max(ans,c_i)\) 即可。

aclink

0b010111 地毯圖案

模擬題。

列印 \(\lfloor\frac{n-m}{2}\rfloor\)\(n\)#

列印 \(\lfloor\frac{n-m}{2}\rfloor\)#\(m\)+\(\lfloor\frac{n-m}{2}\rfloor\)#,共 \(m\) 行。

再次列印 \(\lfloor\frac{n-m}{2}\rfloor\)\(n\)#

aclink

0b011000 因數之心

還挺好的一道題。

不用列舉到 \(n\),只要到 \(\sqrt n\) 就好了。

對於每個 \(i\),如果 \(n\bmod i=0\),那麼必然 \(i\)\(\frac{n}{i}\) 都是 \(n\) 的因數,直接加 \(2\)

但是注意完全平方數\(\sqrt n\) 只有一個,注意特判。

最後寫一個樸素的素數判斷就好。

時間複雜度 \(\mathcal{O}(n)\)

aclink

0b011001 不患寡而患不均

很容易發現有兩種情況:

  • 如果 \(m\bmod n=0\),說明每個人分的一樣,列印 \(0\)

  • 反之最多的比最少的也就多 \(1\),列印 \(1\)

aclink

0b011010 字串匹配1

很簡單的字串匹配。

只要滿足 \(s1_{i+j}=s2_j\) 就匹配上了(其中 \(0\leq i\leq |s1|-|s2|,0\leq j\leq |s2|-1\))。

aclink

0b011011 美術館

咕。

0b011100 排名統計

咕。

0b011101 三角形面積計算

偷個懶,排序,把最小和次小相乘除以 \(2\)\(\frac{a_1\cdot a_2}{2}\))。

aclink

0b011110 特種任務

可以發現有三種情況:

  1. \(a\)\(b\)\(c\)(和 \(c\)\(b\)\(a\) 相同),\(|a-b|+|b-c|\)

  2. \(b\)\(a\)\(c\)\(|a-b|+|a-c|\)

  3. \(b\)\(c\)\(a\)\(|b-c|+|a-c|\)

取最小值即可。

aclink

0b011111 滾動螢幕

咕。

0b100000 蝸蝸的鐳射槍

咕。

0b100001 數位判斷4

做兩次拆數就行。

aclink

0b100010 蝸蝸搬東西

貌似和購買是雙倍經驗,還不用排序。

aclink

0b100011 計算得分

\(\max_{0\leq i\leq n-1}{\sum_{j=0}^{m-1}{s_{i,j}=\mathtt{+}}}\) 即可。

aclink

0b100100 蝸蝸國的朝代變遷

排序,再求 \(\max_{1\leq i<n}{a_{i+1}-a_i}\)

aclink

0b100101 蘋果派

\(\lfloor\frac{3n}{2}\rfloor\)

aclink

0b100110 道生一,一生二

讀入一個字串,拆每個數,按照題目要求判斷並輸出。

aclink

0b100111 蝸蝸過七夕

不需要讀入矩陣,只需要正常讀+排序即可。

aclink

0b101000 蝸蝸的斐波那契

充分利用人類智慧,得出斐波那契數列前 \(n\) 項奇數個數為 \(2\lfloor \frac{n}{3}\rfloor+n\bmod 3\)

aclink

0b101001 蝸蝸過生日

一個很典的題。

判斷閏年,特判。

aclink

0b101010 小蝸蝸數字

咕。

0b101011 字串練習1

不用操作,直接列印。

有可能會出現 \(n\geq|s|\) 的情況,所以要取模。

aclink

0b101100 合併康乃馨

咕。

0b101101 序數詞

模擬,分討。

aclink

0b101110 是階乘還是!

由於 \(1\leq m\leq 10^9\),而此區間內階乘最多到 \(11!\),所以可以先預處理出答案,再匹配。

aclink

0b101111 愷撒密碼

密碼題。

兩種情況:

  • 倒退以後不在字母範圍內,ASCII 碼 + 26;

  • 否則直接減 \(k\)

aclink

0b110000 生病了生病了

咕。

0b110001 整除數位和

數位拆分的簡單運用。

aclink

0b110010 時制轉換

模擬。

aclink

0b110011 鏡面翻轉

模擬題,比較難寫

aclink

0b110100 最優美的隊伍

咕。

0b110101 Diamond

不用說。

aclink

0b110110 算五次

邊乘邊模,注意細節。

aclink

0b110111 2048

咕。

0b111000 誰在中間

排序後取 \(a_{\lfloor\frac{n}{2}\rfloor}\) 即可。

aclink

0b111001 發放獎券

降序排序,判斷應得的倍數。

aclink

0b111010 N子棋

咕。

0b111011 神奇的寶藏

咕。

0b111100 哥德巴赫猜想

咕。

相關文章