搜索专题HDOJ1016输出环
2011-09-26 20:50
274 查看
#include<stdio.h>
#include<stdlib.h>
#include<math.h>
#include<iostream>
#include<string.h>
#define inf 0x3f3f3f
using namespace std;
int a[21],n;
bool vis[21],b[100];
void bfs(int t , int n)
{
for(int i = 2 ; i <= n ; i++)
{
if(t == n)
{
if(vis[i] == 0 && b[i+1] == 0 && b[i+a[t-1]] == 0)//这里注意,因为是形成环,所以最后一个还要
{ //考虑和第一个的组合
a[t] = i;
for(int i = 1 ; i <= n ; i++)
{
if(i != n)
printf("%d ",a[i]);
else
printf("%d\n",a[i]);
}
}
}
else
{
if(vis[i] == 0 && b[i+a[t-1]] == 0)
{
a[t] = i;
vis[i] = 1;
bfs(t+1,n);
vis[i] = 0;
}
}
}
}
int x;
int main()
{
memset(b,0,sizeof(b));
for(int i = 2 ; i <= 50 ; i++)
{
for(int j = 2 ; j < i ; j++)
{
if(i % j == 0)b[i] = 1;
}
}
x = 1;
while(scanf("%d",&n) != EOF)
{
printf("Case %d:\n",x);
x++;
memset(a,0,sizeof(a));
memset(vis,0,sizeof(vis));
vis[1] = 1;
a[1] = 1;
bfs(2,n);
printf("\n");
}
}
#include<stdlib.h>
#include<math.h>
#include<iostream>
#include<string.h>
#define inf 0x3f3f3f
using namespace std;
int a[21],n;
bool vis[21],b[100];
void bfs(int t , int n)
{
for(int i = 2 ; i <= n ; i++)
{
if(t == n)
{
if(vis[i] == 0 && b[i+1] == 0 && b[i+a[t-1]] == 0)//这里注意,因为是形成环,所以最后一个还要
{ //考虑和第一个的组合
a[t] = i;
for(int i = 1 ; i <= n ; i++)
{
if(i != n)
printf("%d ",a[i]);
else
printf("%d\n",a[i]);
}
}
}
else
{
if(vis[i] == 0 && b[i+a[t-1]] == 0)
{
a[t] = i;
vis[i] = 1;
bfs(t+1,n);
vis[i] = 0;
}
}
}
}
int x;
int main()
{
memset(b,0,sizeof(b));
for(int i = 2 ; i <= 50 ; i++)
{
for(int j = 2 ; j < i ; j++)
{
if(i % j == 0)b[i] = 1;
}
}
x = 1;
while(scanf("%d",&n) != EOF)
{
printf("Case %d:\n",x);
x++;
memset(a,0,sizeof(a));
memset(vis,0,sizeof(vis));
vis[1] = 1;
a[1] = 1;
bfs(2,n);
printf("\n");
}
}
相关文章推荐
- HDOJ搜索专题之Sticks
- HDOJ搜索专题之非常可乐
- HDOJ 1016 Prime Ring Problem 简单搜索
- hdoj1016 Prime Ring Problem (深度搜索)
- HDOJ搜索专题之Accept Necklace
- HDOJ搜索专题之Square
- HDOJ搜索专题之Another Eight Puzzle
- HDOJ搜索专题之翻纸牌游戏
- HDOJ搜索专题之Kill the monster
- HDOJ搜索专题之Red and Black
- HDOJ——1016(经典dfs搜索题)
- HDOJ搜索专题之Counting Sheep
- HDOJ搜索专题之下沙小面的(2)
- HDOJ搜索专题之Jugs
- HDOJ搜索专题之Catch That Cow
- HDOJ搜索专题之胜利大逃亡
- HDOJ搜索专题之Robot Motion
- HDOJ搜索专题之Prime Ring Problem
- HDOJ搜索专题之A strange lift
- 搜索专题(DFS)HDU 1016-Prime Ring Problem