M3 T2消消樂大師

2021-10-07 01:51:52 字數 977 閱讀 4131

要求消除n*m矩陣中一行或者一列相同的,可以轉換為乙個更小的問題:如何消除乙個陣列中超過三個相同的數字。

void solve(int *a,int size)//消除陣列a[ size ]中超過3次相同的數字:l 用來記錄當前段的開頭,r用來記錄當前遍歷的數字。進入下一段(數字開始不同)的時候,先判斷一下當前段是否可以消除,可以就置為0。

while

(r} l=r;

}}

要注意的是,這個是遇到不同的數字就處理上一段,所以最後一段沒有處理,需要單獨拿出來處理。

if

(r==size-1)

}}

最後遍歷這個矩陣的每一行和每一列,進行上面的操作,就可以解決問題了。

#include

using

namespace std;

int n,m,g1[35]

[35],g2[35]

[35];

void

solve

(int

* a,

int size)

} l=r;}if

(r==size-1)

}}}}

intmain()

}for

(int i=

0;i)//一行一行來

solve

(g1[i]

,m);

for(

int i=

0;i)solve

(g2[i]

,n);

//然後合併

for(

int i=

0;i)printf

("\n");

}return0;

}

csp m3 t2 消消樂大師 Q老師

q老師是個很老實的老師,最近在積極準備考研。q老師平時只喜歡用linux系統,所以q老師的電腦上沒什麼娛樂的遊戲,所以q老師平時除了玩linux上的賽車遊戲supertuxkart之外,就是喜歡消消樂了。遊戲在乙個包含有n行m列的棋盤上進行,棋盤的每個格仔都有一種顏色的棋子。當一行或一列上有連續三個...

week12 CSP模擬T2消消樂

q老師是個很老實的老師,最近在積極準備考研。q老師平時只喜歡用linux系統,所以q老師的電腦上沒什麼娛樂的遊戲,所以q老師平時除了玩linux上的賽車遊戲supertuxkart之外,就是喜歡消消樂了。遊戲在乙個包含有n行m列的棋盤上進行,棋盤的每個格仔都有一種顏色的棋子。當一行或一列上有連續三個...

M3 T4咕咕東學英語

delicious的定義 當且僅當它的每乙個字元都屬於乙個大於1的回文子串中。正向求出子字串符合delicious的不好求,我們思考一下,逆向的求出不符合delicious的子字串區間。如ab aab aaab aa b或者ba bba bbba bb a這樣的是不符合delicious的,其他的都...