2024四川大學計算機考研復試上機真題
2024四川大學計算機考研復試機試真題
歷年四川大學計算機考研復試機試真題
在線評測:https://app2098.acapp.acwing.com.cn/
分數求和
題目描述
有一分數序列: 2/1 3/2 5/3 8/5 13/8 21/13…
求出這個數列的前 N 項之和,保留兩位小數。
輸入格式
N
輸出格式
數列前 N 項和
輸入樣例
10
輸出樣例
16.48
求組合數
題目描述
編寫一個函數,求從 n 個不同的數中取 r 個數的所有選擇的個數。
輸入格式
輸入 n 和 r 的值; 當用戶輸入 0 0 時,程序結束。
輸出格式
根據公式: C(n,r) = C(n, r-1) * (n - r + 1) / r 輸出運算結果輸入數據不滿足題意時候,輸出"error!"
輸入樣例
5 3
10 20
50 3
0 0
輸出樣例
10
error!
19600
求矩陣的鞍點
題目描述
給定一個 n×m 的整數矩陣,行的編號為 1~n,列的編號為 1~m,求矩陣中的所有鞍點。
鞍點,即該位置上的元素在該行上最大,在該列上最小。
有可能有多個鞍點,也可能沒有鞍點。
輸入格式
第一行包含兩個整數 n,m。
接下來 n 行,每行包含 m 個整數。
輸出格式
輸出所有鞍點的坐標和值。
輸出優先級,整體從上到下,同行從左到右。
如果不存在鞍點,則輸出 NO
。
數據范圍
1≤n,m<10,
矩陣元素取值范圍 [1,9]。
輸入樣例
3 4
1 2 3 4
1 2 3 4
1 2 3 4
輸出樣例
1 4 4
2 4 4
3 4 4
year
2019
字符串編輯距離
題目描述
問題描述:給定兩個字符串 A 和 B,求字符串 A 至少經過多少步字符操作變成字符串 B。
我們先以一個例子分析,比如 eat 變成 tea。
對于第一個字符,e != a,所以要想讓這兩個字符相等,有三種可以選擇的辦法:
修改字符,將 e 直接變成 a,需要走 1 步。
插入字符,在 e 的前面插入 a,也需要走 1 步。
刪除字符,將 e 刪除,然后比較后面的與 a,也需要走 1 步。
輸入格式
輸入字符串 A 和 B(長度小于 1000)
輸出格式
輸出最少經過多少步可以將 A 變成 B
輸入樣例
abcd
abc
輸出樣例
1
year
2019
單鏈表節點交換
題目描述
輸入一個單鏈表,依次交換前 2 個數,第 3、4 個數,第 5、6 個數,…,以此類推,直到操作完整個鏈表。
如果鏈表長度是奇數,則最后一個數不用操作。
輸出交換之后的鏈表。
輸入格式
第一行包含整數 n,表示節點數量。
第二行包含 n 個整數,表示每個節點的值。
輸出格式
共一行,輸出交換后的鏈表。
數據范圍
01≤n≤100,
節點取值范圍 [1,100]。
輸入樣例
5
1 2 3 4 5
輸出樣例
2 1 4 3 5
year
2019
Problem A
題目描述
給定一個長度為 數組,將其中第偶數位置的元素與前一個元素交換。
輸入格式
輸出格式
輸入樣例
5
1 2 3 4 5
輸出樣例
2 1 4 3 5
year
2019
特別的除法
題目描述
輸入正整數 a, b,c,輸出 a/b 小數形式,精確到小數點后 c 位,a,b 范圍都是 1-1e8,c 為 2~1000。
請計算 a/b,保留 c 位。
輸入格式
a b c 三正整數
輸出格式
計算結果
輸入樣例
2 3 6
輸出樣例
0.666667
year
2024
分解質因數
題目描述
將一個正整數分解質因數。
例如:輸入 90,打印出 90=233*5。
輸入格式
多組輸入數據
輸入一個正整數
輸出格式
以乘積的形勢的輸出,質因數從小到大。
輸入樣例
10
90
輸出樣例
2*5
2*3*3*5
year
2024
輸出柱狀圖
題目描述
根據輸入的數據對應用‘*’打印出柱狀圖
輸入格式
第一行輸入一個整數 N,其中 N 不大于 10
接下來輸入 N 個數,用空格間隔,每個數 0<=ai<=5
輸出格式
按照樣例格式輸出,每兩個數據中間有一個空列
輸入樣例
3
3 1 2
輸出樣例
*
* *
* * *
year
2024
不甘心的皇后
題目描述
皇后是國際象棋里最厲害的角色(so are women in real world)。
隨著社會的不斷發展,越來越多的人們意識到皇后在國際象棋里的地位應該降低,這樣國際象棋才會更公平,更有意思。
在傳統的棋盤上,皇后能在任意的方向(橫,豎,斜)上移動任意的步數。
新的國際象棋規定,皇后在豎直方向上還是可以移動任意的步數, 但在除此之外的其他方向上(水平和對角),她只能像國王一樣移動一格。
但皇后們并不罷休,即使他們被剝奪了的某些權利,她們也要想辦法聯合起來,即每個皇后都能被同伴支援保護。
在每個棋盤上,我們在每一列上放一個皇后。
正如前面所說,棋盤上所有的皇后都想要聯合起來,也就是說,每兩個相鄰列的皇后之間的行距離最多只能差一格,這樣才可以及時互相支援(下圖給出了四個例子,前三個是正確的,最后一個是錯誤的)。
現在我們給出棋盤的大小和初始狀態,你能計算出一共有多少種不同的放置皇后的方法使得所有的皇后都能聯合起來嗎?
輸入格式
本題包括多組測試數據。
每組數據的第一行包含一個整數 n(1<=n<=10),代表一個 n*n 的棋盤。
接下來的一行包括 n 個整數。
代表初始時每列已有的皇后的位置:如果這個值為 i,則代表在這一列上,由上向下數第 i 個格子已經放了皇后;如果這個值為 0,代表這一列還沒有皇后,這時你可以在滿足題目要求的情況下把一個皇后放在這一列的任意位置。
當 n=0 時輸入結束,這組數據不包括在需要計算的數據中。
輸出格式
對于每一組輸入數據,輸出一個整數,代表在這種情況下符合條件的放置皇后的方法種數。
輸出 0 代表無法滿足條件。
輸入樣例
8
0 0 0 0 0 0 0 0
4
1 2 0 3
4
1 2 3 4
4
1 3 2 4
0
輸出樣例
11814
2
1
0
year
2024
極大連通圖個數
題目描述
給指定矩陣,由 . 和 w 組成,求 w 能組成的極大連通圖個數,可以斜著(也就是八個方向)。
輸入格式
第一行輸入兩個數代表矩陣的行數 h 和列數 w(1<=w,h<=100)
接下來輸入這個矩陣
輸出格式
極大連通圖個數
輸入樣例
5 10
..w.....ww
.ww..wwwww
.w...w....
..wwww.www
..wwww.www
輸出樣例
2
year
2024