BZOJ1085(SCOI2005)[骑士精神]--IDA*
来源:互联网 发布:田中真弓等级知乎 编辑:程序博客网 时间:2024/05/17 22:11
【链接】
bzoj1085
【解题报告】
IDA*裸题。
#include<cstdio>#include<algorithm>using namespace std;const int flg[8][2]={{-2,1},{-1,2},{1,2},{2,1},{2,-1},{1,-2},{-1,-2},{-2,-1}};const char c[6][6]={{}, {'#','1','1','1','1','1'}, {'#','0','1','1','1','1'}, {'#','0','0','*','1','1'}, {'#','0','0','0','0','1'}, {'#','0','0','0','0','0'}};int T,ans,sx,sy,a[6][6];inline char Readc(){ char ch=getchar(); while (ch!='0'&&ch!='1'&&ch!='*') ch=getchar(); return ch;}int H(){ int sum=0; for (int i=1; i<=5; i++) for (int j=1; j<=5; j++) if (a[i][j]!=c[i][j]) sum++; return sum;}bool Check(int x,int y) {return x>0&&x<=5&&y>0&&y<=5;}bool IDA_star(int dep,int x,int y){ if (dep+H()-1>ans) return 0; if (!H()) return 1; for (int i=0; i<=7; i++) if (Check(x+flg[i][0],y+flg[i][1])) { swap(a[x][y],a[x+flg[i][0]][y+flg[i][1]]); bool now=IDA_star(dep+1,x+flg[i][0],y+flg[i][1]); swap(a[x][y],a[x+flg[i][0]][y+flg[i][1]]); if (now) return 1; } return 0;}void Work(){ for (int i=1; i<=5; i++) for (int j=1; j<=5; j++) { a[i][j]=Readc(); if (a[i][j]=='*') sx=i,sy=j; } for (ans=0; ans<=15&&!IDA_star(0,sx,sy); ans++); if (ans>15) printf("-1"); else printf("%d",ans); putchar(10);}int main(){ freopen("1085.in","r",stdin); freopen("1085.out","w",stdout); scanf("%d",&T); while (T--) Work(); return 0;}
阅读全文
1 0
- 【bzoj1085】【SCOI2005】【骑士精神】【IDA*】
- [IDA*] BZOJ1085: [SCOI2005]骑士精神
- BZOJ1085(SCOI2005)[骑士精神]--IDA*
- 【IDA*】BZOJ1085(SCOI2005)[骑士精神]题解
- 【BZOJ1085】【SCOI2005】骑士精神(IDA*)
- [BZOJ1085][SCOI2005]骑士精神
- BZOJ1085 [SCOI2005]骑士精神
- bzoj1085: [SCOI2005]骑士精神
- [BZOJ1085][SCOI2005]骑士精神
- bzoj1085[SCOI2005]骑士精神
- BZOJ1085 [SCOI2005]骑士精神
- 【bzoj1085】[SCOI2005]骑士精神
- [BZOJ1085][SCOI2005]骑士精神
- bzoj1085: [SCOI2005]骑士精神
- 【bzoj1085】[SCOI2005]骑士精神
- 【bzoj1085】【SCOI2005】骑士精神
- BZOJ1085: [SCOI2005]骑士精神
- 【bzoj1085】[SCOI2005]骑士精神
- 文章标题 计算几何
- 苹果电脑装win7系统问题
- weblogic12c部署webservice错误问题WSSERVLET11: 无法解析运行时描述符: java.lang.IllegalStateException: MASM0001: Defau
- 文件传输基础——Java IO流
- Android BLE总结
- BZOJ1085(SCOI2005)[骑士精神]--IDA*
- java通过JDBC链接SQLServer2012
- POJ P1160 Post Office
- 订单用户表1(用户查询 、手机号查询 、选择城市 、选择状态、月份查询 、ID排序 、添加数据、批量发货、批量删除)
- UVALive 7661The Size of the Smallest Hole(dfs)
- recyclerview 点击事件
- 使用JQuery编写AJax实现异步请求
- Python读取xml文件(xml.etree.ElementTree)
- 基于ugui的血条(资料备份)