有些跟图相关的题目需要我们检查某一个方格与附近的方格的关系
最近看到两段类似的程序
一段来自于用DFS解方格填数:点击打开链接
另一段也是用DFS解剪邮票:点击打开链接
源码贴在下面:
方格填数:
#include <cstdio>
#include <queue>
#include <map>
#include <cmath>
#include <vector>
#include <cstring>
#include <iostream>
#include <stack>
#include <algorithm>
using namespace std;
const int r = 3, c = 4;
int mapp[10][10];
int numv[15];
int cou;
int dir[4][2] = { 0, -1, -1, -1, -1, 0, -1, 1 };
bool check(int x, int y, int n) {
for (int i = 0; i < 4; i++) {
int nx = x + dir[i][0];
int ny = y + dir[i][1];
if (nx >= 0 && nx < r &&