本文最后更新于 1170 天前,其中的信息可能已经有所发展或是发生改变。
代码语言:javascript复制// 洛谷1002深搜dfs.cpp : 定义控制台应用程序的入口点。
//
#include "stdafx.h"
#include<iostream>
using namespace std;
#define N 25
int s[N][N];
int x1, x2, h1, h2;
long sum = 0;
void creat(int h1,int h2)
{
for (int i = 0; i < N; i )
{
for (int j = 0; j < N; j )
{
if ((i == (h1 - 2) && j == (h2 - 1))
|| (i == (h1 - 2) && j == (h2 1))
|| (i == (h1 - 1) && j == (h2 - 2))
|| (i == (h1 - 1) && j == (h2 2))
|| (i == (h1 1) && j == (h2 - 2))
|| (i == (h1 1) && j == (h2 2))
|| (i == (h1 2) && j == (h2 - 1))
|| (i == (h1 2) && j == (h2 1))
|| (i == h1 && j == h2 )
)
s[i][j] = 1;
else
s[i][j] = 0;
}
}
}
void dsf(int i, int j)
{
if (i == x1&&j == x2)
{
sum ;
cout << sum << endl;
return;
}
if (i >= 0&&i<=x1&&j>=0&&j<=x2&&s[i][j]==0)
{
dsf(i 1,j);
dsf(i, j 1);
}
else
return;
}
int main()
{
cin >> x1 >> x2 >> h1 >> h2;
creat(h1, h2);
dsf(0, 0);
cout << sum;
return 0;
}
Post Views: 169