從我做起振 我做起振興 做起振興中 起振興中華
比賽時,先站在左上角的寫著“從”字的格子里,可以橫向或縱向跳到相鄰的格子里,但不能跳到對角的格子或其它位置。一直要跳到“華”字結束。要求跳過的路線剛好構成“從我做起振興中華”這句話。請你幫助小明算一算他一共有多少種可能的跳躍路線呢?答案是一個整數,請通過瀏覽器直接提交該數字。 注意:不要提交解答過程,或其它輔助說明類的內容。
明顯的深搜
#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;}新聞熱點
疑難解答
圖片精選