拼多多2021筆試真題集

                    小編:管理員 4450閱讀 2021.06.08

                    一、[編程題]多多的數字組合:

                    多多君最近在研究某種數字組合:

                    定義為:每個數字的十進制表示中(0~9),每個數位各不相同且各個數位之和等于N。
                    滿足條件的數字可能很多,找到其中的最小值即可。
                    多多君還有很多研究課題,于是多多君找到了你--未來的計算機科學家尋求幫助。

                    輸入描述:
                    共一行,一個正整數N,如題意所示,表示組合中數字不同數位之和。
                    (1 <= N <= 1,000)

                    輸出描述:
                    共一行,一個整數,表示該組合中的最小值。
                    如果組合中沒有任何符合條件的數字,那么輸出-1即可。

                    輸入例子1:
                    5

                    輸出例子1:
                    5

                    例子說明1:
                    	
                    	
                    
                    符合條件的數字有:5,14,23,32,41
                    	
                    
                    
                    	
                    
                    其中最小值為5
                    	
                    
                    
                    輸入例子2:
                    12

                    輸出例子2:
                    39

                    例子說明2:
                    
                    
                    輸入例子3:
                    50

                    輸出例子3:
                    -1

                    例子說明3:

                    沒有符合條件的數字 (T▽T)


                    二、[編程題]多多的字符變換:


                    多多君最近在研究字符串之間的變換,可以對字符串進行若干次變換操作:

                    1. 交換任意兩個相鄰的字符,代價為0。
                    2. 將任意一個字符a修改成字符b,代價為 |a - b|(絕對值)。
                    現在有兩個長度相同的字符串X和Y,多多君想知道,如果要將X和Y變成兩個一樣的字符串,需要的最少的代價之和是多少。


                    輸入描述:
                    共三行,第一行,一個整數N,表示字符串的長度。
                    (1 <= N <= 2,000)
                    接下來兩行,每行分別是一個字符串,表示字符串X和Y。
                    (字符串中僅包含小寫字母)

                    輸出描述:
                    共一行,一個整數,表示將X和Y變換成一樣的字符串需要的最小的總代價。

                    輸入例子1:
                    4
                    abca
                    abcd

                    輸出例子1:
                    3

                    例子說明1:
                    其中一種代價最小的變換方案:
                    都修改為abcd,那么將第一個字符串X最后一個字符a修改為d,代價為|a - d| = 3。

                    輸入例子2:
                    4
                    baaa
                    aabb

                    輸出例子2:
                    1

                    例子說明2:
                    其中一種代價最小的變換方案:
                    首先將第一個字符串通過交換相鄰的字符:baaa -> abaa -> aaba,代價為0。
                    然后將第二個字符串修改最后一個字符b:|b - a| = 1。
                    兩個字符都修改為aaba,所以最小的總代價為1。

                    輸入例子3:
                    3
                    abc
                    xyz

                    輸出例子3:
                    69
                    
                    
                     
                    三、[編程題]多多的求和計算:
                    多多路上從左到右有N棵樹(編號1~N),其中第i個顆樹有和諧值Ai。
                    多多雞認為,如果一段連續的樹,它們的和諧值之和可以被M整除,那么這個區間整體看起來就是和諧的。
                    現在多多雞想請你幫忙計算一下,滿足和諧條件的區間的數量。

                    輸入描述:
                    第一行,有2個整數N和M,表示樹的數量以及計算和諧值的參數。
                    ( 1 <= N <= 100,000, 1 <= M <= 100? )
                    第二行,有N個整數Ai, 分別表示第i個顆樹的和諧值。
                    ( 0 <= Ai <= 1,000,000,000 )

                    輸出描述:
                    共1行,每行1個整數,表示滿足整體是和諧的區間的數量。

                    輸入例子1:
                    5 2
                    1 2 3 4 5

                    輸出例子1:
                    6

                    例子說明1:
                    長度為1: [2], [4]
                    長度為2: 無
                    長度為3: [1,2,3], [3,4,5]
                    長度為4: [1,2,3,4], [2,3,4,5]
                    長度為5: 無
                    共6個區間的和諧值之和可以被2整除。
                    
                    
                    
                    
                    
                     
                    
                    四、[編程題]多多的骰子組合: 
                    多多君拼團購買了N個骰子,為了方便后面進行活動,多多君需要將這些骰子進行分類。



                    兩個骰子為同類的定義是:
                    1
                    將其中一個骰子通過若干次上下、左右或前后翻轉后,其與另一個骰子對應的6面數字均相等。

                    現在多多君想知道不同種類的骰子的數量分別有多少。

                    輸入描述:
                    			
                    
                    第一行1個整數N,表示骰子的數量。
                    	
                    
                    (1 <= N <= 1,000)
                    		
                    
                    接下來N行,每行6個數字(1~6,且各不相同)
                    		
                    
                    其中第i行表示第i個骰子當前上、下、左、右、前、后這6面的數字。
                    		
                    
                    

                    輸出描述:
                    共2行:
                    第一行1個整數M,表示不同種類的骰子的個數
                    第二行M個整數,由大到小排序,表示每個種類的骰子的數量

                    輸入例子1:
                    2
                    1 2 3 4 5 6
                    1 2 6 5 3 4

                    輸出例子1:
                    1
                    2

                    例子說明1:
                    第二個骰子相當于是第一個骰子從左向右旋轉了一面得到,屬于同類。

                    輸入例子2:
                    3
                    1 2 3 4 5 6
                    1 2 6 5 3 4
                    1 2 3 4 6 5

                    輸出例子2:
                    2
                    2 1

                    例子說明2:
                    第三個骰子無法通過任何旋轉變換成第一個或第二個骰子。

                    輸入例子3:
                    10
                    2 5 1 3 4 6
                    5 4 3 2 1 6
                    1 4 6 2 3 5
                    1 5 6 3 4 2
                    6 4 2 1 5 3
                    3 6 4 5 2 1
                    1 6 3 4 2 5
                    5 1 4 2 6 3
                    6 2 3 1 5 4
                    5 3 6 1 4 2

                    輸出例子3:
                    9
                    2 1 1 1 1 1 1 1 1

                    例子說明3:
                    只有第4個骰子(1 5 6 3 4 2)與第8個骰子(5 1 4 2 6 3)屬于同一類。
                    		
                    
                    			
                    		
                    一種可能的變換方式:
                    		
                    
                    1) 首先從右向左翻轉1次
                    ?(1 5 6 3 4 2) -> (1 5 4 2 3 6)
                    2) 然后從上向下翻轉2次
                    ?(1 5 4 2 3 6) -> (6 3 4 2 1 5) -> (5 1 4 2 6 3)


                    關聯標簽:
                    无码精品人妻一区二区三区软件