東南大學第一屆程式設計競賽決賽解題報告
農夫三拳@seu
「善始者實繁,克終者蓋寡」,既然初賽解題報告貼出來了,為了不做「寡人」,偶痛下心來做了一下決賽。決賽的題目相對初賽題量進行了減少 ,難度略有增加。為了大家能力的提高,這次就不傳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位小數 如果不存在,輸出...