你好,欢迎来到电脑编程技巧与维护杂志社! 杂志社简介广告服务读者反馈编程社区  
合订本订阅
 
 
您的位置:技术专栏 / C专栏
[BZOJ 1054][HAOI 2008]移动玩具(BFS+判重)
 

真是水题,感谢HAOI送的福利样例23333

裸BFS,用string做判重,会八数码就会这题。

注意由于队列中状态数很多,一定要把队列的数组开大点!!!

 

#include 
#include 
#include 
#include 
#include 
#include 
#include

#define MAXN 5

using namespace std;

mapvisit;

int tmp[MAXN][MAXN],nowstatus[MAXN][MAXN];
int xx[]={1,-1,0,0},yy[]={0,0,1,-1};

bool inMap(int x,int y)
{
    if(x<1||x>4||y<1||y>4) return false;
    return true;
}

string GetPermutationFromArray()
{
    string ans=;
    for(int i=1;i<=4;i++)
        for(int j=1;j<=4;j++)
            ans+=tmp[i][j]+'0';
    return ans;
}

void GetArrayFromPermutaion(string s)
{
    int p=0;
    for(int i=1;i<=4;i++)
        for(int j=1;j<=4;j++)
            tmp[i][j]=s[p++]-'0';
}

struct node
{
    string status;
    int step;
}q[100000],first,goal;

int h=0,t=0;

int BFS()
{
    q[t++]=first;
    visit[first.status]=true;
    while(h>s;
        first.status+=s;
    }
    for(int i=1;i<=4;i++)
    {
        cin>>s;
        goal.status+=s;
    }
    printf(%d
,BFS());
    return 0;
}

 

 

??
  推荐精品文章

·2024年9月目录 
·2024年8月目录 
·2024年7月目录 
·2024年6月目录 
·2024年5月目录 
·2024年4月目录 
·2024年3月目录 
·2024年2月目录 
·2024年1月目录
·2023年12月目录
·2023年11月目录
·2023年10月目录
·2023年9月目录 
·2023年8月目录 

  联系方式
TEL:010-82561037
Fax: 010-82561614
QQ: 100164630
Mail:gaojian@comprg.com.cn

  友情链接
 
Copyright 2001-2010, www.comprg.com.cn, All Rights Reserved
京ICP备14022230号-1,电话/传真:010-82561037 82561614 ,Mail:gaojian@comprg.com.cn
地址:北京市海淀区远大路20号宝蓝大厦E座704,邮编:100089