題目:有個長方形的棋盤,每個格仔可能是以下三種情況,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....