如【圖1.jpg】, 有12張連在一起的12生肖的郵票。
現在你要從中剪下5張來,要求必須是連著的。
(僅僅連線乙個角不算相連)
比如,【圖2.jpg】,【圖3.jpg】中,粉紅色所示部分就是合格的剪取。
請你計算,一共有多少種不同的剪取方法。
請填寫表示方案數目的整數。
注意:你提交的應該是乙個整數,不要填寫任何多餘的內容或說明性文字。
解決思路:先將所有五個一組的情況遍歷,然後用廣度優先判斷是否連通。
我在選五個一組的時候是用的 for 先選出第幾個郵票,然後將其在二維中的位置算出,最後通過廣度優先判斷二維陣列中選中部分連通的位置夠不夠五個。
#include#includeusing namespace std;
struct point
;int main()
else
a[x][y]=1;
}int ans=0;
int book[4][13];//用於將來佇列廣度遍歷時記錄當前位置是否用過
memset(book,0,sizeof(book));
point pos;
pos.x=x;
pos.y=y;
book[x][y]=1;
dequeql;
ql.push_back(pos);
ans++;
while(!ql.empty())
if(a[ql[0].x+1][ql[0].y]&&(ql[0].x+1)<=2&&book[ql[0].x+1][ql[0].y]==0)//down
if(a[ql[0].x][ql[0].y+1]&&(ql[0].y+1)<=3&&book[ql[0].x][ql[0].y+1]==0)//r
if(a[ql[0].x][ql[0].y-1]&&(ql[0].y-1)>=0&&book[ql[0].x][ql[0].y-1]==0)//l
ql.pop_front();
}if(ans==5)
}cout搜尋 coderwangson 關注
第七屆藍橋杯省賽剪郵票
如 圖1.jpg 有12張連在一起的12生肖的郵票。現在你要從中剪下5張來,要求必須是連著的。僅僅連線乙個角不算相連 比如,圖2.jpg 圖3.jpg 中,粉紅色所示部分就是合格的剪取。請你計算,一共有多少種不同的剪取方法。請填寫表示方案數目的整數。注意 你提交的應該是乙個整數,不要填寫任何多餘的內...
第七屆藍橋杯省賽A7 剪郵票
題目描述 如 圖1.jpg 有12張連在一起的12生肖的郵票。現在你要從中剪下5張來,要求必須是連著的。僅僅連線乙個角不算相連 比如,圖2.jpg 圖3.jpg 中,粉紅色所示部分就是合格的剪取。請你計算,一共有多少種不同的剪取方法。請填寫表示方案數目的整數。注意 你提交的應該是乙個整數,不要填寫任...
第七屆省賽 題7 剪郵票
如 圖1.jpg 有12張連在一起的12生肖的郵票。現在你要從中剪下5張來,要求必須是連著的。僅僅連線乙個角不算相連 比如,圖2.jpg 圖3.jpg 中,粉紅色所示部分就是合格的剪取。請你計算,一共有多少種不同的剪取方法。請填寫表示方案數目的整數。注意 你提交的應該是乙個整數,不要填寫任何多餘的內...