这题主要是玄学输入+玄学理解+玄学时间复杂度+玄学定理呀QAQ…
至于玄学理解其他题解已经讲得很清楚了呀,主要还是让大家看看我的玄学代码呀QAQ…

//先玄学理解呀
const z:array[1..8,1..2]of -2..2=((1,2),(1,-2),(-1,2),(-1,-2),(2,1),(2,-1),(-2,1),(-2,-1));
var i,j,k,ix,iy:longint;m,n,h,t,sum,q:longint;kingx,kingy:longint;x_ch:array[char]of longint;min,p:array[-1..100,-1..100]of longint;x,y,u:array[0..10000]of longint;main:longint=maxlongint;boo:array[-1..100,-1..100]of boolean;ans:array[-1..30,-1..50,-1..30,-1..50] of longint;s:string;ch:char;
function mine(m,n:longint):longint;//min
beginif m>n then exit(n) else exit(m);
end;
function max(m,n:longint):longint;//max
beginif m>n then exit(m) else exit(n);
end;
procedure find(x1,y1:longint);//以x1,y1为终点呀QAQ
var i,j,k,pd:longint;
beginfor i:=-2 to 2 do//玄学定理,不知道是谁怎么的呀for j:=-2 to 2 do//接国王的位置一定在国王旁边2格内if boo[kingx+i,kingy+j] thenbeginpd:=0;for k:=1 to sum doinc(pd,ans[x1,y1,x[k],y[k]]);main:=mine(main,pd+max(abs(x1-kingx),abs(y1-kingy)));//当国王直接走到终点for k:=1 to sum dobeginmain:=mine(main,pd-ans[x1,y1,x[k],y[k]]{骑士直接去终点}+ans[kingx+i,kingy+j,x[k],y[k]]{骑士到接的位置}+ans[x1,y1,kingx+i,kingy+j]{从接的位置到终点}+max(abs(i),abs(j))){国王到接的位置};//第k个骑士去接国王呀end;end;
end;
beginreadln(m,n);k:=m;m:=n;n:=k;for ch:='A' to 'Z' do x_ch[ch]:=ord(ch)-ord('A')+1;read(ch,k);kingx:=x_ch[ch];kingy:=k;//读入国王位置呀QAQfor ix:=1 to m dofor iy:=1 to n dofor i:=1 to m dofor j:=1 to n do ans[ix,iy,i,j]:=123123123;//赋初值for ix:=1 to m do//用bfs计算每两个点之间的最短步数,四次居然不超呀,玄学时间复杂度....for iy:=1 to n dobeginx[1]:=ix;y[1]:=iy;u[1]:=0;h:=1;t:=1;for i:=1 to m dofor j:=1 to n doboo[i,j]:=true;boo[ix,iy]:=false;ans[ix,iy,ix,iy]:=0;repeatfor i:=1 to 8 doif boo[x[t]+z[i,1],y[t]+z[i,2]] thenbegininc(h);x[h]:=x[t]+z[i,1];y[h]:=y[t]+z[i,2];u[h]:=u[t]+1;ans[ix,iy,x[h],y[h]]:=u[h];//保存最优解呀boo[x[h],y[h]]:=false;end;inc(t);until t>h;end;while not eof do//玄学读入beginreadln(s);//字符串,真麻烦...for i:=1 to length(s) dobeginif (s[i] in ['A'..'Z']) thenbegininc(sum);x[sum]:=x_ch[s[i]];k:=0;j:=i+2;while (s[j] in ['0'..'9']) and (j<=length(s))dobegink:=k*10+ord(s[j])-48;inc(j);end;y[sum]:=k;end;end;end;if sum=0 then begin write(0); exit; end;for i:=1 to m dofor j:=1 to n do boo[i,j]:=true;for i:=1 to m dofor j:=1 to n dobeginfind(i,j);//找最优解呀QAQend;write(main);//输出
end.

这是一道玄学难题,难度挺高的,辛苦调了2个小时,,,

P1930 亚瑟王的宫殿相关推荐

  1. USACO Training3.3亚瑟王的宫殿【搜索】By cellur925

    题目传送门 因为太蒟了,所以参考了dalao@zbtrs ==    对此表示感谢并侵删. 看起来我们就知道这是搜索题. 最后的情况分两种:有骑士背国王/国王自食其力走到集合点. 首先,我们不知道大家 ...

  2. 乖离性暗机器人_《乖离性百万亚瑟王》国服超弩暗机器人平民通关攻略

    乖离性百万亚瑟王国服第一次迎来新的机器人类型BOSS,难度还是比较大的!在打暗机器人的时候有什么需要注意的细节,我们一起来看看吧! 首先介绍一下暗机器人的属性数据: 属性:暗系 接下来介绍一下BOSS ...

  3. SSD成就了《扩散性百万亚瑟王》

    盛大网络最近上线了一款手机游戏<扩散性百万亚瑟王>.游戏推出的当周,盛大的股票上涨了30%.这款一上线就受到广泛欢迎的游戏后端支持平台就采用了英特尔针对数据中心的DC系列S3700和S35 ...

  4. [HNOI2015]亚瑟王

    题目描述 小 K 不慎被 LL 邪教洗脑了,洗脑程度深到他甚至想要从亚瑟王邪教中脱坑.他决定,在脱坑之前,最后再来打一盘亚瑟王.既然是最后一战,就一定要打得漂亮.众所周知,亚瑟王是一个看脸的游戏,技能 ...

  5. 亚瑟王(bzoj 4008)

    Description 小 K 不慎被 LL 邪教洗脑了,洗脑程度深到他甚至想要从亚瑟王邪教中脱坑. 他决定,在脱坑之前,最后再来打一盘亚瑟王.既然是最后一战,就一定要打得漂 亮.众所周知,亚瑟王是一 ...

  6. 乖离性暗机器人_乖离性百万亚瑟王国服超弩暗机器人如何打|乖离性百万亚瑟王国服超弩暗机器人平民打法攻略分享_好特教程...

    <乖离性百万亚瑟王>国服近日迎来了新的机器人类型BOSS,难度不小,那么在打暗机器人的时候有什么需要注意的细节呢?下面我们就一起来看看吧. 首先介绍一下暗机器人的属性数据: 属性:暗系 接 ...

  7. [BZOJ4008]亚瑟王

    Description 小 K 不慎被 LL 邪教洗脑了,洗脑程度深到他甚至想要从亚瑟王邪教中脱坑. 他决定,在脱坑之前,最后再来打一盘亚瑟王.既然是最后一战,就一定要打得漂 亮.众所周知,亚瑟王是一 ...

  8. 【BZOJ4008】【HNOI2015】亚瑟王 [期望DP]

    亚瑟王 Time Limit: 20 Sec  Memory Limit: 512 MB [Submit][Status][Discuss] Description 小 K 不慎被 LL 邪教洗脑了, ...

  9. BZOJ-4008: [HNOI2015]亚瑟王 (概率期望DP)

    4008: [HNOI2015]亚瑟王 Time Limit: 20 Sec  Memory Limit: 512 MBSec  Special Judge Submit: 1627  Solved: ...

  10. 唐 库利超级计算机,第七卷 乖离性 百万亚瑟王_第二百五十二章 绝望中的希望...

    第七卷 乖离性 百万亚瑟王_第二百五十二章 绝望中的希望 赫布里底训练大厅. "诸位,结果已经分析出来了,丘库林,也就是被你们捉到的闯入者,他身上的神装的确是断绝时代的遗物不错,而且,这件神 ...

最新文章

  1. Visual Studio 2017 15.7预览版发布
  2. MYSQL使用inner join 进行 查询/删除/修改示例
  3. GitLab添加SSH Keys并连接(windows)
  4. JavaScript动画:offset和匀速动画详解(含轮播图的实现)
  5. screw ---- 数据库转文档
  6. SQL 存儲過程加密
  7. 鸡兔同笼:35个头,94只脚,问鸡、兔各多少只?
  8. 政府部门服务器拒收邮件 怎么办,hotmail 邮箱最近反映拒收邮件,请问怎么解决?...
  9. qq相册回收站复原显示服务器繁忙,qq回收站里恢复的照片在哪看 qq照片回收站还原照片路径地址...
  10. 【altium designer】画原理图
  11. 通信原理与MATLAB(二):DSB的调制解调
  12. Ubuntu 20.04 server 安装
  13. 效率神器----QuickLook
  14. 三十了终于明白了些事
  15. 浙大版《C语言程序设计实验与习题指导(第4版)》题目集-编程题-实验2-2-6 3人分糖果 (5分)
  16. python花萼长度表_读取iris数据集中的花萼长度数据(已保存为csv格式),并对其进行排序、去重,并求出和、累积和、均值、标准差、方差、最小值、最大值...
  17. Python Pygame|实现GIF(gif)动图的加载和降帧【源码+解析】
  18. NUC970 配置gadget驱动 模拟U盘
  19. 一般四边形的面积公式
  20. docker 入门使用

热门文章

  1. 基于ARM裸机的知识点总结(9)------- S5PV210的定时器、看门狗和RTC
  2. 多智时代,大数据发展趋势预测
  3. 分布式文件存储系统FastDFS
  4. Intel服务器芯片组区别,不同芯片组的主板有什么区别?
  5. 软件随想录(local.joelonsoftware.com/wiki)-2001年04月21日 别让架构太空人吓到你 - Don't Let Architecture Astronauts Scar
  6. c++:简单的运算符重载
  7. python dataframe新增一列
  8. androidstudio身高预测app
  9. matlab编程求解一元高次方程
  10. PaddleX---MobileNetV2图像分类