您的位置:首页 > 运维架构

Hopscotch(POJ, 穷竭搜索)

2017-11-21 17:10 239 查看
题目链接

       通过此题了解到了set这么个东西。此题很简单,就不多说了。

#include<cstdio>
#include<set>
#define buyuejue 0<=ny && ny<5 && 0<=nx && nx<5

using namespace std;

int grid[10][10];
int dy[4] = {-1, 1, 0, 0};
int dx[4] = {0, 0, -1, 1};
set<int> integer;

void ini()
{
for(int i=0; i<5; i++){
for(int j=0; j<5; j++){
scanf("%d", &grid[i][j]);
}
}
}
void dfs(int y, int x, int cnt, int sum)
{
if(cnt == 5){
integer.insert(sum);
return;
}
for(int k=0; k<4; k++){
int ny = y + dy[k];
int nx = x + dx[k];
if(buyuejue){
dfs(ny, nx, cnt+1, sum*10+grid[ny][nx]);
}
}
}
int main()
{
ini();
for(int i=0; i<5; i++){
for(int j=0; j<5; j++){
dfs(i, j, 0, grid[i][j]);
}
}
printf("%d", integer.size());
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  ACM 搜索 poj