 |
算法訓練 Anagrams問題
時間限制:1.0s 內存限制:512.0MB
問題描述 Anagrams指的是具有如下特性的兩個單
詞:在這兩個單詞當中,每一個英文字母(不區分大小寫)所出現的次數都是相同的。例如,「Unclear」和「Nuclear」、「Rimon」和
「MinOR」都是Anagrams。編寫一個程序,輸入兩個單詞,然後判斷一下,這兩個單詞是否是Anagrams。每一個單詞的長度不會超過80個字
符,而且是大小寫無關的。
輸入格式:輸入有兩行,分別為兩個單詞。
輸出格式:輸出只有一個字母Y或N,分別表示Yes和No。
輸入輸出樣例樣例輸入Unclear
Nuclear樣例輸出Y
|
 |
算法訓練 出現次數最多的整數
時間限制:1.0s 內存限制:512.0MB
問題描述
編寫一個程序,讀入一組整數,這組整數是按照從小到大的順序排列的,它們的個數N也是由用戶輸入的,最多不會超過20。然後程序將對這個數組進行統計,把出現次數最多的那個數組元素值打印出來。如果有兩個元素值出現的次數相同,即並列第一,那麼只打印比較小的那個值。
輸入格式:第一行是一個整數N,N £ 20;接下來有N行,每一行表示一個整數,並且按照從小到大的順序排列。
輸出格式:輸出只有一行,即出現次數最多的那個元素值。
輸入輸出樣例樣例輸入5
100
150
150
200
250樣例輸出150
|
 |
算法訓練 字串統計
時間限制:1.0s 內存限制:512.0MB
問題描述 給定一個長度為n的字符串S,還有一個數字L,統計長度大於等於L的出現次數最多的子串(不同的出現可以相交),如果有多個,輸出最長的,如果仍然有多個,輸出第一次出現最早的。輸入格式 第一行一個數字L。
第二行是字符串S。
L大於0,且不超過S的長度。輸出格式 一行,題目要求的字符串。
輸入樣例1:
4
bbaabbaaaaa
輸出樣例1:
bbaa
輸入樣例2:
2
bbaabbaaaaa
輸出樣例2:
aa數據規模和約定 n<=60
S中所有字符都是小寫英文字母。提示 枚舉所有可能的子串,統計出現次數,找出符合條件的那個
|
 |
算法訓練 矩陣乘法
時間限制:1.0s 內存限制:512.0MB
問題描述 輸入兩個矩陣,分別是m*s,s*n大小。輸出兩個矩陣相乘的結果。輸入格式 第一行,空格隔開的三個正整數m,s,n(均不超過200)。
接下來m行,每行s個空格隔開的整數,表示矩陣A(i,j)。
接下來s行,每行n個空格隔開的整數,表示矩陣B(i,j)。輸出格式 m行,每行n個空格隔開的整數,輸出相乘後的矩陣C(i,j)的值。樣例輸入2 3 2
1 0 -1
1 1 -3
0 3
1 2
3 1樣例輸出-3 2
-8 2
提示
矩陣C應該是m行n列,其中C(i,j)等於矩陣A第i行行向量與矩陣B第j列列向量的內積。
例如樣例中C(1,1)=(1,0,-1)*(0,1,3) = 1 * 0 +0*1+(-1)*3=-3
|
 |
算法訓練 大小寫轉換
時間限制:1.0s 內存限制:512.0MB
問題描述
編寫一個程序,輸入一個字符串(長度不超過20),然後把這個字符串內的每一個字符進行大小寫變換,即將大寫字母變成小寫,小寫字母變成大寫,然後把這個新的字符串輸出。
輸入格式:輸入一個字符串,而且這個字符串當中只包含英文字母,不包含其他類型的字符,也沒有空格。
輸出格式:輸出經過轉換後的字符串。
輸入輸出樣例樣例輸入AeDb樣例輸出aEdB
|
 |
算法訓練 動態數組使用 時間限制:1.0s 內存限制:512.0MB
從鍵盤讀入n個整數,使用動態數組存儲所讀入的整數,並計算它們的和與平均值分別輸出。要求儘可能使用函數實現程序代碼。平均值為小數的只保留其整數部分。
樣例輸入: 5 3 4 0 0 2 樣例輸出: 9 1
樣例輸入: 7 3 2 7 5 2 9 1 樣例輸出: 29 4
|
 |
算法訓練 刪除數組零元素 時間限制:1.0s 內存限制:512.0MB
從鍵盤讀入n個整數放入數組中,編寫函數CompactIntegers,刪除數組中所有值為0的元素,其後元素向數組首端移動。注意,CompactIntegers函數需要接受數組及其元素個數作為參數,函數返回值應為刪除操作執行後數組的新元素個數。輸出刪除後數組中元素的個數並依次輸出數組元素。
樣例輸入: (輸入格式說明:5為輸入數據的個數,3 4 0 0 2 是以空格隔開的5個整數) 5 3 4 0 0 2 樣例輸出:(輸出格式說明:3為非零數據的個數,3 4 2 是以空格隔開的3個非零整數) 3 3 4 2
樣例輸入: 7 0 0 7 0 0 9 0 樣例輸出: 2 7 9
樣例輸入: 3 0 0 0 樣例輸出: 0
|
 |
算法訓練 最小乘積(基本型) 時間限制:1.0s 內存限制:512.0MB 問題描述 給兩組數,各n個。 請調整每組數的排列順序,使得兩組數據相同下標元素對應相乘,然後相加的和最小。要求程序輸出這個最小值。 例如兩組數分別為:1 3 -5和-2 4 1
那麼對應乘積取和的最小值應為: (-5) * 4 + 3 * (-2) + 1 * 1 = -25 輸入格式 第一個行一個數T表示數據組數。後面每組數據,先讀入一個n,接下來兩行每行n個數,每個數的絕對值小於等於1000。 n<=8,T<=1000 輸出格式 一個數表示答案。 樣例輸入
2 3 1 3 -5 -2 4 1 5 1 2 3 4 5 1 0 1 0 1
樣例輸出
-25 6
|
 |
算法訓練 Torry的困惑(基本型) 時間限制:1.0s 內存限制:512.0MB 問題描述 Torry從小喜愛數學。一天,老師告訴他,像2、3、5、7……這樣的數叫做質數。Torry突然想到一個問題,前10、100、1000、10000……個質數的乘積是多少呢?他把這個問題告訴老師。老師愣住了,一時回答不出來。於是Torry求助於會編程的你,請你算出前n個質數的乘積。不過,考慮到你才接觸編程不久,Torry只要你算出這個數模上50000的值。 輸入格式 僅包含一個正整數n,其中n<=100000。 輸出格式 輸出一行,即前n個質數的乘積模50000的值。 樣例輸入
1
樣例輸出
2
|
 |
算法訓練 尋找數組中最大值 時間限制:1.0s 內存限制:512.0MB 問題描述 對於給定整數數組a[],尋找其中最大值,並返回下標。 輸入格式 整數數組a[],數組元素個數小於1等於100。輸出數據分作兩行:第一行只有一個數,表示數組元素個數;第二行為數組的各個元素。 輸出格式 輸出最大值,及其下標 樣例輸入
3 3 2 1
樣例輸出
3 0
|