本文最后更新于 1170 天前,其中的信息可能已经有所发展或是发生改变。
// 洛谷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