振兴中华 蓝桥杯初赛

来源:互联网 发布:休闲西服 知乎 编辑:程序博客网 时间:2024/05/29 14:27

再一次遇见深度优先遍历了,递归的方法很实用,也比较好理解。

#include <stdio.h>int a[4][5] = {{0,1,2,3,4},{1,2,3,4,5},{2,3,4,5,6},{3,4,5,6,7}};int count = 0;//int num = 0;void find(int x,int y,int num){if(num == 7){count++;return;}if (x<4&&num+1 == a[x+1][y]){find(x+1,y,num+1);//向下找}if (x>0&&num+1 == a[x-1][y]){find(x-1,y,num+1);}if (y<5&&num+1 == a[x][y+1]){find(x,y+1,num+1);//向右找}if (y>0&&num+1 == a[x][y-1]){find(x,y-1,num+1);}}void main(){find(0,0,0);printf("%d\n",count);}