東南大學2023年程式設計第一屆決賽解題報告

2021-09-05 15:57:34 字數 1321 閱讀 4511

東南大學第一屆程式設計競賽決賽解題報告

農夫三拳@seu

[email protected]

「善始者實繁,克終者蓋寡」,既然初賽解題報告貼出來了,為了不做「寡人」,偶痛下心來做了一下決賽。決賽的題目相對初賽題量進行了減少 ,難度略有增加。為了大家能力的提高,這次就不傳solution了。(裡面有兩題目前為止還沒有找到oj提交)

第一題****** multiplication

高精度乘法,模擬手工計算時的即可。

即為一題稍微複雜點的高精度乘法的問題

第二題how many ********s

找遞迴規律。通過列舉前幾個三角形可以發現每乙個邊長為n(n > 3)的三角形都可以由3個n-1個三角形組成,

而這種情況下需要除去重疊的部分,還要加上漏掉的部分。由於在偶數邊長的情況下會存在乙個邊長為n / 2倒三角形。因此遞迴式為

c[n] = 3*c[n - 1] - 3*c[n - 2] + c[n - 3] + 2 , n為偶數

c[n] = 3*c[n - 1] - 3*c[n - 2] + c[n - 3] + 1 , n為奇數

可以在進行提交

第三題bst reconstruction

題意很簡單。我是模擬做的,按照輸入序列從後往前的構建bst(binary search tree),然後進行preorder輸出應該有更好辦法

第四題palindrome numbers

這題看起來簡單,其實花了我不少時間,規律很容易發現,從1位數目的數字,到2位,3位。。。所有回文數的個   數為9, 9, 90, 90, 900, 900, ... ...

知道這個規律也並非一定能很容易的做出來。事實上使用構造是無可厚非的,關鍵點要注意回文的第乙個數字和其它的數字並相同。此外,從題目的資料量2*10^9可以推算出,回文的「一半」在int範圍之內,這就給你不用字串提供了一些機會。寫出短小精悍的程式我是沒能做到(-_-),下面是某大牛的一段**:

<

stdio.h

>

intmain()

+=((n%i

==0) ?

i:n%i)-

1;",j);

if(n-i

<=0)

/=10

;while

(j)printf("\n

");scanf("%d

",&n);

return0;

第五題possible weights

江西財經大學第一屆程式設計競賽 A

擠需體驗五番鐘,裡造會挨上這款遊戲 怎麼可能嘛!當我是傻子嗎!於是我就去玩了,然後我果然成功證明,我是正確的,這破遊戲,真的很無聊.有多無聊呢,和這道題一樣.問題有兩種情況 0 給出兩個100以內的正整數做加法 1 給出乙個字串問有多少個字元 字串長度不超過100000 第一行輸入乙個整數t 表示樣...

江西財經大學第一屆程式設計競賽 I

小p和小q是好朋友,今天他們一起玩乙個有趣的遊戲。他們的初始積分都為1,贏的人可以將自己的分數乘以 k的平方 而輸的人也能乘以k。他們玩的太開心了,以至於忘了自己玩了多久,甚至 k 是多少和遊戲進行的回合數 n 都忘了。現在給出他們倆最終的積分a,b,請問是否存在正整數k n滿足這樣的積分,判斷他們...

江西財經大學第一屆程式設計競賽 F

對於方程 2018 x 4 21 x 5 x 3 5 x 2 14 y,告訴你y的值,你能找出方程在0 100之間的解嗎?第一行輸入乙個正整數t 表示樣例個數 接下來t組樣例 每組樣例一行,輸入乙個實數y一行輸出乙個樣例對應的結果,輸出方程在0 100之間的解,保留小數點後4位小數 如果不存在,輸出...