题目:http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=1363
#include<cstdio> #include<cstring> #include<queue> #include<set> using namespace std; struct State { short step,x,y; char map[5][5]; }; struct cmp { bool operator () (State a,State b) const { return memcmp(a.map,b.map,25)<0; } }; char final[5][5]={'1','1','1','1','1','0','1','1','1','1','0','0',' ','1','1','0','0','0','0','1','0','0','0','0','0'}; set<State,cmp> vis; int try_to_insert(State s) { if(vis.count(s)) return 0; vis.insert(s); return 1; } void solve(State &head) { if(memcmp(head.map,final,sizeof(final))==0) { printf("Solvable in 0 move(s).\n"); return; } queue<State> q; q.push(head); while(!q.empty()) { int i; short dir[8][2]={-1,-2,1,-2,-2,-1,2,-1,-1,2,1,2,-2,1,2,1}; State cur; cur=q.front(); q.pop(); if(cur.step>=11) { printf("Unsolvable in less than 11 move(s).\n"); return; } if(memcmp(cur.map,final,sizeof(final))==0) { printf("Solvable in %d move(s).\n",cur.step); return; } for(i=0;i<8;i++) { State next=cur; next.x=cur.x+dir[i][0]; next.y=cur.y+dir[i][1]; if(next.x<0||next.x>4||next.y<0||next.y>5) continue; char t=next.map[next.x][next.y]; next.map[next.x][next.y]=next.map[cur.x][cur.y]; next.map[cur.x][cur.y]=t; next.step++; if(try_to_insert(next)) q.push(next); } } } int main() { //freopen("in.txt","r",stdin); int i,j,N; State head; scanf("%d",&N); getchar(); while(N--) { for(i=0;i<5;i++) { for(j=0;j<5;j++) { head.map[i][j]=getchar(); if(head.map[i][j]==' ') { head.x=i; head.y=j; } } getchar(); } head.step=0; vis.clear(); solve(head); } return 0; }
发表评论
-
UVa 539 The Settlers of Catan
2012-08-31 22:22 28题目:http://uva.onlinejudge.org/i ... -
UVa 301 Transportation
2012-08-31 22:10 34题目:http://uva.onlinejudge.org/i ... -
UVa 639 Don't Get Rooked
2012-08-30 23:01 856题目:http://uva.onlinejudge.org/i ... -
UVa 216 Getting in Line
2012-08-29 20:48 766题目:http://uva.onlinejudge.org/i ... -
UVa 10474 Where is the Marble?
2012-08-28 13:45 886题目:http://uva.onlinejudge.org/i ... -
UVa 592 Island of Logic
2012-08-27 11:05 1685题目:http://uva.onlinejudge ... -
UVa 11205 The broken pedometer
2012-08-25 17:28 1096题目:http://uva.onlinejudge.org/i ... -
UVa 131 The Psychic Poker Player
2012-08-24 22:28 911题目:http://uva.onlinejudge.org/i ... -
UVa 729 The Hamming Distance Problem
2012-08-24 12:18 738题目:http://uva.onlinejudge.org/i ... -
Uva 10098 Generating Fast
2012-08-23 15:28 692题目:http://uva.onlinejudge.org/i ... -
UVa 146 ID Codes
2012-08-20 18:46 806题目:http://uva.onlinejudge.org/i ... -
UVa 10167 Birthday Cake
2012-08-16 20:57 641题目:http://uva.onlinejudge.org/i ... -
UVa 10129 Play on Words
2012-08-15 22:49 1186题目:http://uva.onlinejudge.org/i ... -
UVa 10596 Morning Walk
2012-08-14 22:05 923题目:http://uva.onlinejudge.org/i ... -
Uva 10305 Ordering Tasks
2012-08-13 23:40 701题目:http://uva.onlinejudge.org/i ... -
Uva 10004 Bicoloring
2012-08-13 23:34 917题目:http://uva.onlinejudge.org/i ... -
Uva 532 Dungeon Master
2012-08-13 23:29 829题目:http://uva.onlinejudge ... -
Uva 439 Knight Moves
2012-08-11 22:24 700题目:http://uva.onlinejudge.org/i ... -
UVa 784 Maze Exploration
2012-08-11 14:09 891题目:http://uva.onlinejudge.org/i ... -
Uva 572 Oil Deposits
2012-08-11 11:43 790题目:http://uva.onlinejudge.org/i ...
相关推荐
POLYGON+-+Knights+Pack.unitypackage 美术资源,还不错
Intel第二代Xeon Phi产品代号“Knights Landing”(KNL)的架构和技术细节,既可以继续做协处理器,也可以单独做中央主处理器,不再必须有Xeon的支撑,因而更加灵活。采用了14nm新工艺,架构是Silvermont的改进定制版...
《Unity中的中世纪场景构建与角色设计:以“Knights Pack 1.0”为例》 Unity3D作为一款强大的跨平台游戏开发引擎,被广泛应用于各种类型的游戏制作,尤其在构建中世纪风格的场景和角色设计方面,其灵活性和表现力更...
《POLYGON - Knights Pack》是游戏开发领域的一款资源包,版本为1.2,采用7z压缩格式。这个包主要面向使用Unity引擎的开发者,它包含了一系列与骑士主题相关的游戏资源,如角色模型、动画、纹理等,方便开发者快速...
《mighty-knights:强大的骑士》是一款融合了Capcom的经典游戏元素“骑士团之轮”与“强大的最后一战”的Sega Master System平台游戏。Sega Master System是8位时代的家用游戏机,它拥有丰富的游戏库,吸引了众多玩家...
The Knights Of Alentejo An Android rewrite of a Ludum Dare turn-based adventure game I wrote way back. Guide portuguese knights through a dungeon and kill demons. GooglePlay: ...
Knights ready to protect your kingdom! VR ready. Each model has low polygon count and optimized textures. Great for mobile and hordes! (4 unique body textures and a weapons texture with specular and...
标题“two-knights:Haskell国际象棋”指的是一个使用Haskell编程语言实现的国际象棋问题,特别关注“两个骑士”的动态。在国际象棋中,骑士是唯一可以走L形路径的棋子,即每次移动两格横向或纵向,然后一格横向或...
POLYGON Knights - Low Poly 3D Art by Synty - 1.3.unitypackage
文件名:POLYGON Knights Low Poly 3D Art by Synty v1.5.unitypackage POLYGON Knights - Low Poly 3D Art by Synty 是由 Synty Studios 开发的 Unity 插件,提供了一套风格化的低多边形(Low Poly)骑士主题的 3D...
【标题】"knights"可能是指一个与编程相关的项目或者库,主要与JavaScript语言关联。在编程领域,"knights"通常不会作为一个特定的技术术语,但可能是开发者为某个项目或工具选择的命名,可能寓意着代码的守护者、...
【标签】"knights"代表骑士,"kt"可能是项目或类名的缩写,而"kt_java"则明确了这是使用Java语言实现的。"骑士巡游"是一个典型的图论问题,它属于回溯算法或深度优先搜索(DFS)的应用场景。在这个游戏中,我们需要...
INTEL AVX-512 INSTRUCTIONSIN KNIGHTS LANDING PROCESSORSBonan ZhangColfax InternationalMay 11, 2016Abstract This publication is part of a developer guide fo-cusing on the new features in 2nd generation...
《Knights-Ascension》是一款基于Cocos2d-x框架开发的Android游戏,由开发者Andre Popovitch与他的伙伴Zeph Balsley和Joseph Waldorf共同创作。Cocos2d-x是一个广泛使用的开源游戏引擎,它支持多平台开发,包括iOS、...
POJ2942-Knights of the Round Table 【Tarjan算法】 解题报告+AC代码 http://hi.csdn.net/!s/F3L8HO ================================== 我的POJ所有解题报告:...
Knights of the round re-edition DEMO v0.1.3 Source Options: Turbo AutoSkipFrame Mute Pause Flash 0.5x 1x 1.5x 2x 3x 4x How to play: <W S A D> Move <J> Attack <K> Jump <P> Pause Try combo keys to ...
《Knights:开源的图形象棋界面》 在信息技术领域,开源软件的影响力日益增强,它们为用户提供了自由、透明的代码,同时也鼓励了社区协作和创新。Knights,一个专为K桌面环境设计的图形象棋界面,就是这样一个杰出...
《Python骑士之旅:深入探索"python-knights-travail"》 在编程的世界里,Python是一种强大而易学的语言,广泛应用于数据科学、Web开发、自动化任务等多个领域。"python-knights-travail"项目,从其命名来看,可能...