拼多多筆試題 棋盤石子障礙物

2021-08-26 14:51:13 字數 1142 閱讀 5738

題目:有個長方形的棋盤,每個格仔可能是以下三種情況,a,放有障礙物,不可移動。 b 放置著小木塊,c 格仔為空

如果把棋盤豎起來,小木塊會向下掉落,直至落到障礙物上或者落到障礙物上疊加著的小木塊上,如果底部沒有障礙物時,則會掉出棋盤。

請問棋盤的最終狀態。

輸入描述:

第一行包括2個整數n,m(n>=1,m<=10),分別表示棋盤的高度以及寬度。接下來n*m的矩陣表示了從上到下的狀態。

接下來有n行,每行是乙個長度為m的字串,字串僅包含:』x』表示障礙物,』o』表示小木塊,』.』表示空格子。

輸出:

輸出n行,每行m個字元,表示最終棋盤的狀態。

輸入:

3 4

.oxo

o..o

.xox

輸出:

..xo

.o.o

.x.x

思路:其實這個棋盤只是豎列上會有影響,然後向下掉的時候,其實就是相鄰的交換,然後一共有6種情況,

. . . x x x o o o

x o . x o . x o .

然後我們看有哪幾種情況才會發生交換呢?

只有相鄰為oo和o.的需要交換,但是如果碰到相鄰是oo這種怎麼辦,既然總共也就只能交換n-1次,那麼我們交換n-1次就行了,為了方便,應該將mp[n][j]設定為』.』。

**:

#include

#include

#include

#include

using

namespace

std;

#define max_size 120

int main()}}

for(int j=0;j'.';

}// printf("----------------\n");

for(int i=0;ifor(int j=0;jprintf("%c",mp[i][j]);

printf("\n");}}

return0;}

/*3 4

.oxo

o..o

.xox

*/

拼多多筆試題解析

120分鐘,共四道程式設計題。1.輸出乙個陣列a最長的 山谷 子陣列b的長度。山谷是指b 0 b 1 b i 1 b i 思路 對每個數,向左搜尋,若比當前數大,則一直搜尋。向右搜尋,若比當前數大,則一直搜尋。如下 def findsubnum nums ans 0 for i in range 1...

拼多多筆試 公司套餐

多多公司每天給員工提供免費的三餐,而小多由於習慣性賴床,所以他從來吃不 到早餐。今天公司提供了n套中餐和m套晚餐,每種 分別有乙個熱量值x和美味值y。小多想知道,在滿足美味值之和不少於t的情況下,最少可以攝入多少熱量值?注意 每頓飯最多只能選擇一種 小多可以選擇只吃一頓飯甚至不吃飯。輸入描述 第一行...

2018 8 5拼多多筆試題2 數字分組

輸入描述 輸入為一行,包含乙個字串形式的正整數 輸出描述 輸出為一行,找出經過 拆分 和 變化 後的所有組合數目 拆分操作 將乙個字串拆分成兩部分 變化操作 分別在這兩部分中加上乙個小數點或者不加 最後分別形成乙個整數和小數 形成的小數和整數滿足以下要求 1.不可包含多餘的字首0,即010和010....