第五次模擬測試 2

2021-10-05 22:47:53 字數 2321 閱讀 3275

題目:

描述q老師是個很老實的老師,最近在積極準備考研。q老師平時只喜歡用linux系統,所以q老師的電腦上沒什麼娛樂的遊戲,所以q老師平時除了玩linux上的賽車遊戲supertuxkart之外,就是喜歡消消樂了。

遊戲在乙個包含有n行m列的棋盤上進行,棋盤的每個格仔都有一種顏色的棋子。當一行或一列上有連續三個或更多的相同顏色的棋子時,這些棋子都被消除。當有多處可以被消除時,這些地方的棋子將同時被消除。

乙個棋子可能在某一行和某一列同時被消除。

由於這個遊戲是闖關制,而且有時間限制,當q老師開啟下一關時,q老師的好哥們叫q老師去爬泰山去了,q老師不想輸在這一關,所以它來求助你了!!

輸入輸入第一行包含兩個整數n,m,表示行數和列數

接下來n行m列,每行中數字用空格隔開,每個數字代表這個位置的棋子的顏色。數字都大於0.

輸出輸出n行m列,每行中數字用空格隔開,輸出消除之後的棋盤。(如果乙個方格中的棋子被消除,則對應的方格輸出0,否則輸出棋子的顏色編號。)

輸入樣例 1

4 52 2 3 1 2

3 4 5 1 4

2 3 2 1 3

2 2 2 4 4

輸出樣例 1

2 2 3 0 2

3 4 5 0 4

2 3 2 0 3

0 0 0 4 4

輸入樣例 2

4 52 2 3 1 2

3 1 1 1 1

2 3 2 1 3

2 2 3 3 3

輸出樣例 2

2 2 3 0 2

3 0 0 0 0

2 3 2 0 3

2 2 0 0 0

提示| 資料點 | n | m | 顏色數字大小 |

| 1,2,3 | <=5 | <=5 | <10 |

| 4,5,6 | <=15 | <=15 | <10 |

| 7,8,9,10 | <=30 | <=30 | <10 |

題目分析:

本題看起來很複雜,實際上只能上下左右操作和很小的資料範圍已經將本題的難度下降很多了,不過要注意的是第二個樣例,這個樣例我們發現可能會有重複的部分,如果直接對陣列進行修改的話,那會導致後面的運算非常麻煩,所以我們可以定義乙個bool陣列,和輸入的陣列一樣大小,0表示不用消除,1表示要消除。同樣的道理我們也得先初始化,否則會分不清0的含義到底是初始化的0還是中途結果產生的0。

int a[35]

[35];

bool b[35]

[35];

消除就簡單了,由於資料範圍非常小,可以進行全掃瞄操作,同時也是為了防止交叉資料被記錄之後而被忽視,所以不建議continue。每次我們看輸入陣列裡面連續的三個數(橫著+豎著)是否是相等的,如果相等那就首先把他們對應的bool陣列設定為1。

if

(a[i]

[j]==a[i+1]

[j]&&a[i+1]

[j]==a[i+2]

[j])

num=1;

while

(a[i]

[j+2

]==a[i]

[j+2

+num]

)

最後的輸出也簡單,如果bool陣列為1就輸出0,否則就輸出對應的數。題目要求最後乙個不能有空格,那就還是兩種方法:先輸出乙個數,後面的輸出是空格+數;先輸出乙個數+空格,最後乙個數不輸出空格。

for

(int i=

1;i<=n;i++

)else

}else

else}}

cout<}

**如下:

#include

using

namespace std;

int a[35]

[35];

bool b[35]

[35];

intmain()

}int n,m;

cin>>n>>m;

for(

int i=

1;i<=n;i++)}

int num=0;

for(

int i=

1;i<=n;i++)}

if(a[i]

[j]==a[i]

[j+1

]&&a[i]

[j+1

]==a[i]

[j+2])

}}}for

(int i=

1;i<=n;i++

)else

}else

else}}

cout<}}

軟體測試第五次作業

碼 上學起來 讀 構建之法 現代軟體工程 有感 作為一名學習關於軟體工程方面的學生,在老師的推薦下有幸接觸到鄒欣老師的 構建之法 現代軟體工程 實屬榮欣。對於我來說,計算機類的知識本身它比較枯燥無味,深奧難懂。如果你對於計算機也是這般無奈,那我們的感受一定會一拍即合。現實有時也是像童話一樣,劇情一百...

《軟體測試》第五次作業

構建執法 心得 整本書一開始寫的是軟體工程的發展史,從開始到應用,所經歷的各種變化。接下來講的是變成 要懂得團體的力量,合作取得雙贏,向我們講述的單元測試,回歸測試,效能分析工具。然後書的中間部分提到了成為軟體工程師所要具備的條件 1.積累軟體開發相關的知識,提公升技術技能。2.積累問題領域的知識和...

第五次實驗

一 問題及 檔名稱 陣列素數排序.cpp 作 者 周玉傑 完成日期 2017 年 4 月 24 日 版 本 號 v1.0 對任務及求解方法的描述部分 輸入描述 無 問題描述 程式輸出 問題分析 使用函式來分工 演算法設計 無 include include using namespace std c...