国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > C++ > 正文

第四屆藍橋杯C++A組——振興中華(dfs)

2019-11-06 07:30:54
字體:
來源:轉載
供稿:網友
小明參加了學校的趣味運動會,其中的一個項目是:跳格子。地上畫著一些格子,每個格子里寫一個字,如下所示:(也可參見p1.jpg)

從我做起振 我做起振興 做起振興中 起振興中華

比賽時,先站在左上角的寫著“從”字的格子里,可以橫向或縱向跳到相鄰的格子里,但不能跳到對角的格子或其它位置。一直要跳到“華”字結束。要求跳過的路線剛好構成“從我做起振興中華”這句話。請你幫助小明算一算他一共有多少種可能的跳躍路線呢?

答案是一個整數,請通過瀏覽器直接提交該數字。 注意:不要提交解答過程,或其它輔助說明類的內容。

明顯的深搜

#include <iostream>#include <cstring>#include <string>#include <vector>#include <queue>#include <cstdio>#include <set>#include <cmath>#include <algorithm>#include <queue>#define INF 0x3f3f3f3f#define MAXN 100005#define Mod 10001using namespace std;int a[4][5]={{1,2,3,4,5},{2,3,4,5,6},{3,4,5,6,7},{4,5,6,7,8}};int vis[10][10],ans;int dx[]={1,0,-1,0};int dy[]={0,1,0,-1};void dfs(int x,int y){ if(a[x][y]==8) { ans++; return; } for(int i=0;i<4;++i) { int xm=x+dx[i]; int ym=y+dy[i]; if(!vis[xm][ym]&&a[xm][ym]==a[x][y]+1) { vis[xm][ym]=1; dfs(xm,ym); vis[xm][ym]=0; } }}int main(){ memset(vis,0,sizeof(vis)); ans=0; dfs(0,0); cout<<ans; return 0;}
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 保山市| 罗江县| 青河县| 色达县| 七台河市| 苏州市| 方城县| 四会市| 松潘县| 晋城| 临武县| 盘锦市| 都安| 新源县| 宜川县| 清水县| 井冈山市| 武城县| 广元市| 凤凰县| 邹平县| 邛崃市| 托克逊县| 呼图壁县| 东山县| 寻乌县| 库车县| 南康市| 福州市| 余江县| 旬邑县| 凤山市| 碌曲县| 左权县| 天峨县| 横山县| 灵寿县| 辽宁省| 申扎县| 皋兰县| 苍山县|