京東筆試程式設計題。。消消樂

2021-09-26 11:05:00 字數 950 閱讀 5073

題目是:輸入5*5的矩陣,數值大小為1-5,上下左右相同的數值達到3個或以上可消除,每次都消除可消除的最大的那個區域,消除後的剩餘數值?️由重力作用向下移動,求按此規則消除,直到無法消除時,剩餘未消除數值的個數。

例如:31211

第一次: ***xx

***xx

***xx

3x2xx

3x223

第二次:***xx

***xx

***xx

3***x

3***3

剩餘3個

下面是我寫的**,結果是正確的,但是步驟自我感覺很亂,希望能夠交流,思考如何改進???

#include

using namespace std;

void chazhaoxiaochu(int xxl[5][5]);//使用連通陣列將連通部分(相同值相鄰區域)用同樣的數字表示

//求取連通陣列

for (int i = 0; i<5; i++) ;

for (int liantong_num = 1; liantong_num < num; liantong_num++) ;

int data;

int i = 0,j = 0;

while (cin >> data) {

xxl[i][j] = data;

j++;

if(j == 5)

i++;

j=0;

chazhaoxiaochu(xxl);//消除過程

//計算剩餘未消除部分

int sum = 0;

for(i = 0; i<5; i++){

for(j = 0; j<5; j++)

if(xxl[i][j] != 0)

sum++;

cout << "result: " << sum << endl;

return 0;

京東筆試程式設計題之消消樂

題目 有乙個5 5的正方形網格,沒個格仔中有乙個大於0且小於4的整數,對於乙個確定的局面,若乙個格仔與它上下左右四個方向的某個格仔 如果存在 數字相同,則稱這兩個格仔是連通的,並且這種連通具有傳遞性。每次,可以選擇乙個格仔,若與這個格仔連通的格仔 包括自己 數大於等於3,你就可以選擇消掉這個格仔,與...

京東2015校招筆試程式設計題

醜數問題,在 劍指offer 一書的182頁有詳細討論。簡單來說,就是 新的醜數總是以前的某個醜數乘以2 3或5產生,那麼分別用三個指標p2 p3和p5指向乘以2 3和5後能生成新的醜數的醜數,那麼下乙個醜數就是它們生成的新的醜數中最小的乙個。public static int kthnumber ...

京東2018實習C 筆試程式設計題

ifndef jingdongbishi h define jingdongbishi h 求1 n的最小公倍數。把每個數字分解質因數,算他們每個質因數的貢獻,然後乘起來。根據唯一分解定理和最小公倍數定理,求每個質數相乘即可 define maxn 100009 最大的資料n為100000 int ...