<noframes id="dh1vt"><progress id="dh1vt"></progress>

          拼多多2021筆試真題集

          小編:管理員 515閱讀 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)


          關聯標簽: