hdu1195双向广搜

http://acm.hdu.edu.cn/showproblem.php?pid=1195

代码比较长, 但都是重复代码!!!

#include 
#include 
#include 
#define INF 0x3f3f3f3f
#define BUG printf("here!\n")
using namespace std;
int q1[10005],q2[10005];
int vis[10005];
int front1,front2,tail1,tail2;
int num[5];
int num1[5];
int d[10005];
void tochar(int x)
{
    num[0]=x/1000;
    num[1]=x%1000/100;
    num[2]=x%100/10;
    num[3]=x%10;
}
int toint(int *num)
{
    return num[0]*1000+num[1]*100+num[2]*10+num[3];
}
int bfs(int start,int end)
{
    memset(vis,0,sizeof(vis));
    memset(d,0,sizeof(d));
    q1[0]=start;
    q2[0]=end;
    front1=front2=0;
    tail1=tail2=1;
    vis[start]=1;
    vis[end]=2;
    while(front1


你可能感兴趣的:(acm,搜索)