2、模擬出入棧遊戲
3、爬樓梯遊戲
pipi現有a-z共26種球,權值從a到z依次為1,2,3…26,現從已有的n個球中選出固定k個從左到右排列,要求右邊的球權值至少比左邊大2,在給定n和k的情況下,求最小權重和。
輸入包含多組資料。
每組資料第一行包含兩個整數 n,k (1<=k<=n<=50)
第二行是乙個長度為n的字串。
對於每組樣例,輸出最小權重和。若不存在輸出-1.
5 3
xyabd
29
#include
#include
using namespace std;
intgetnumber
(char c)
char s[55]
;int
main()
}sort
(s, s+n)
;int j=1;
char before =s[0]
;int total =
getnumber
(before)
;for
(int i=
0; iif(jelse
}return0;
}
pipi現有a-z 26個小球模擬出入棧操作,小球按照a~z的順序壓入棧,在棧頂的元素可以隨時被取出,在遊戲開始前給出任意26個字母的一些排列,問是否能夠由出棧順序得到這個排列。
輸入包含多組測試用例。
每組測試用例包含26個字母組成的乙個序列。
若出棧順序合法,輸出"yes",否則輸出"no".
abcdefghijklmnopqrstuvwxyz
zabcdefghijklmnopqrstuvwxy
yes
no
#include
#include
using namespace std;
intmain()
elseif(
!stackc.
empty()
&& stackc.
top(
)== s.
at(j)
)else
}while
(!stackc.
empty()
) stackc.
pop();
j++;}
if(tag)
else
}return0;
}
現有n階樓梯,pipi從第一階走到第n階,每次可以跨一階或者兩階,問pipi從第一階走到第n階總共有多少種可能。為了防止結果過大,需要讓結果對p取模。
ps: p = 1e9+7.
輸入包含多組測試用例。
每組樣例第一行輸入樓梯的階數n。(1<=n<=1000000)
對於每組樣例,輸出方案數。最後結果對109+7取模。
1
23
1
23
#include
#include
#include
#include
#define max_col 2
#define max_row 2
#define mod 100000007
typedef
unsigned
long matrixtype;
/*計算2*2矩陣乘法,這裡沒有寫成通用形式,有興趣的可以自己實現通用矩陣乘法*/
intmatrixdot
(matrixtype a[max_row]
[max_col]
,matrixtype b[max_row]
[max_col]
,matrixtype c[max_row]
[max_col]
)matrixtype fibo
(int n)
; matrixtype a[
2]=;
while
(n >0)
n /=2
;matrixdot
(a,a,a);}
return result[0]
[1];
}int
main()
return0;
}
注:雖然此題使用了矩陣快速冪解法,但還是出現超時問題,實在沒想通,如果哪位兄弟解出此題,望指教。 2023年中南大學研究生複試機試題
題目描述 現有n階樓梯,pipi從第一階走到第n階,每次可以跨一階或者兩階,問pipi從第一階走到第n階總共有多少種可能。為了防止結果過大,需要讓結果對p取模。ps p 1e9 7.輸入輸入包含多組測試用例。每組樣例第一行輸入樓梯的階數n。1 n 1000000 輸出對於每組樣例,輸出方案數。最後結...
暨南大學2023年複試機試 04
題目描述 注意這裡是子串行,而不是子串,子串行可以是不連續的。題目分析 其實這個題目就是求最長遞增子串行 lis 長度的變形。求最長遞增子串行的長度思想 設dp i 為以第num i 這個字元結尾的子串行的最長長度。我們採取這樣的策略 依次比較num i 前面的字元num j j include 最...
2018 HIT計算機研究生複試 機試部分真題
19萌新一枚。碰巧在經驗分享帖中看到了今年hit複試程式設計題,小小地水一波 如有問題歡迎各路大佬指正 1.商場10種商品 標號1 10 現有n個顧客來購買,每人買一種,如果某商品購買數量超過m 不包括m 則為受歡迎的商品。程式設計實現統計輸出受歡迎的產品編號,若有多個,從小到大輸出,若沒有,不輸出...