- 1、本文档共21页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
05百度编程大赛
05百度编程大赛
二○○五年 百度大赛答案
1.
#include stdio.h
#include stdlib.h
#include string.h
const int hashsize=70001;
const int maxnode=50000;
const int maxp=40;
const int ten[]={1,10,100,1000,10000,100000,1000000100000000};
const int C[]={2,3,2,3,4,3,2,3,2};
const int EP[][4]={{1,3,0,0},{0,2,4,0},{1,5,0,0},{0,4,6,0},{1,3,5,7},{2,4,8,0},{3,7,0,0},{4,6,8,0},{5,7,0,0}};
struct Tlist
{
int data,d;
Tlist *next;
};
struct Thashpoint
{
int data;
Thashpoint *next;
};
//Memory
int ID;
Tlist listM[maxnode],*q;
Thashpoint hashM[maxnode],*p;
//data
int src,dest;
//heap
Tlist *head[maxp],*expand[maxp],*lp1,*lp2;
//Hash
Thashpoint *hash[hashsize];
//expand
int nowp,A[9],arcT[9],dist[9][9],b,depth,swap[9][9];
int data,G,newdata,newG;
bool find_answer;
void readdata(const char *filename,int data)
{
int i,v;
FILE *f=fopen(filename,r);
data=0;
for (i=0;i9;i++)
{
fscanf(f,%d,v);
data=data+v*ten[i];
}
fclose(f);
}
bool check_noanswer()
{
int p[9],i,b1,b2;
bool vis[9];
for (i=0;i9;i++)
p[i]=arcT[src/ten[i]%10];
for (b1=0; src/ten[b1]%10!=0;b1++);
for (b2=0;dest/ten[b2]%10!=0;b2++);
int countP=0;
memset(vis,false,sizeof(vis));
for (i=0;i9;i++)
if (!vis[i])
{
countP++;
for (int k=i;!vis[k];k=p[k])
vis[k]=true;
}
return (countP-dist[b1][b2])%2==0;
}
void preprocess()
{
ID=0;
find_answer=false;
memset(hash,0,sizeof(hash));
memset(head,0,sizeof(head));
memset(expand,0,sizeof(expand));
for (int k=0;k9;k++)
arcT[dest/ten[k]%10]=k;
for (int u=0;u9;u++)
for (int v=0;v9;v++)
{
dist[u][v]=abs(u/3-v/3)+abs(u%3-v%3);
swap[u][v]=ten[u]-ten[v];
}
}
void addnode()
{
if (newdata==dest)
{
printf(%d\n,depth);
find_answer=true;
return;
}
int address=newdata%hashsize;
for (p=hash[address];p!=NULL;p=p-next)
if (p-data==newdata)
return;
if (ID==maxnode)
return;
p=hashM[ID];
p-data=newdata;
p-next=hash[address];
hash[address]=p;
q=listM[ID];
ID++;
q-data=newdata;
q-d=depth;
if (newG=maxp)
return;
if (newG==nowp)
{
q-n
您可能关注的文档
- $更是播种的季节——北大法学院2009级迎新致辞.doc
- (一)厂家“模糊用语”须辨清-营销启示录-酒网-中国酿造网.doc
- (APH黑塔利亚)二重音 CP:冰诺.doc
- (ALL鸣)小鸣争夺战.doc
- (【红木的分类).doc
- (一)古今异义字词1.亲戚 今义:旁系.doc
- (三)、电气安全消防操作规程.doc
- (一)诗歌主题的快速把握.doc
- (五)宝宝营养食谱之汤类篇.doc
- (华中旺菜)地锅菜的正规配料和制作技巧.doc
- 2025年中共甘肃省委统战部所属事业单位招聘7人笔试高频难、易错点备考题库及参考答案详解一套.docx
- 2025年专利审查协作北京中心福建分中心行政人员招聘笔试高频难、易错点备考题库含答案详解.docx
- 2025年中国农业银行陕西省分行春季招聘90人笔试备考题库附答案详解.docx
- 2025年上海市检察系统辅助文员招聘笔试备考题库及答案详解一套.docx
- 2025年中共福建省委党校(福建行政学院)教研岗位招聘11人方案笔试高频难、易错点备考题库及答案详解.docx
- 2025年上海市检察系统辅助文员招聘33人笔试备考题库及参考答案详解1套.docx
- 2025年上海市公安机关辅警_检察系统辅助文员_法院系统辅助文员招聘考试大纲笔试高频难、易错点备考题.docx
- 2025年中共广东省委党校(广东行政学院)招聘教研人员15人笔试高频难、易错点备考题库含答案详解.docx
- 2025年上海市房地产科学研究院高层次人才专项招聘笔试高频难、易错点备考题库及答案详解一套.docx
- 2025年中共重庆市委党校重庆行政学院事业单位招聘15人笔试高频难、易错点备考题库及参考答案详解1套.docx
文档评论(0)