UVa 572: Oil Deposits

这道题很简单,深搜+标记就可以做出来了。

我的解题代码如下:

#include 
#include 
#include 
#include 
#include 
#include 
using namespace std;

char grid[100][100];
int m,n;
int visit[100][100];

const int dx[] = { -1, 1, 0, 0, -1, 1, -1, 1 };
const int dy[] = { 0, 0, -1, 1, -1, -1, 1, 1 };

void dfs(int x, int y)
{
	visit[x][y]=1;
	for(int d=0; d<8; d++)
	{
		int newx = x + dx[d];
		int newy = y + dy[d];
		if(newx>=0 && newx=0 && newy> m >> n && m!=0)
	{
		for(int i=0; i> grid[i][j];
				visit[i][j] = 0;
			}
		}
		num_deposit = 0;
		for(int i=0; i


你可能感兴趣的:(UVaOJ)