题目:
Description
奶牛按不太传统的方式玩起小朋友玩的跳房子游戏,现给出一个5*5的由数字组成的网格。它们在格子中向前前跳,向后跳,向左跳,向右跳,跳到网格中另一个数字后,又这样继续跳(可能跳到某个已跳过的数字)。一共在网格中跳过五次后,它们经过的格子数组成一个六位数(可能是0开始头的,例如000201).现问所有可以被跳出来的不同整数的总数。
Input
输入共五行,每行五个数字.
Output
如题
Sample Input
1 1 1 1 1
1 1 1 1 1
1 1 1 1 1
1 1 1 2 1
1 1 1 1 1
Sample Output
15
思路:
这是一个简单的DFS,DFS四个方向,走到五步就return。这道题可以走重复的格子,所有要预防这些方案重复,我就用了一个vis数组来存,每一种方案都用一个公式将其转换为一个数,将访问过的方案标记即可。
代码:
#include <bits/stdc++.h>
using namespace std;
int vis[1000000],mp[6][6],ans;
bool in(int x,int y){
return x>=1&&x<=5&&y>=1&&y<=