- 1、本文档共11页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[计算机]《新手的DOTA》解题报告
作者声明:
当动态规划维数进一步增大或不定时,标准解答方法为最大流。
新手的DOTA
By sx349
[题目背景]
DOTA是Defense of the Ancients的缩写,是一个基于魔兽争霸的多人实时对战自定义地图,可以支持10个人同时连线游戏。DOTA以对立的两个小队展开对战为5v5。每个玩家仅需要选择一个英雄,并通过控制该英雄来摧毁对方小队所守护的主要建筑(远古遗迹)。
边界条件为f(1,1,1,1,1,1)=map[1,1]。
接着考虑compare函数的值,它代表从前一状态到达这一状态后,多增加的杀怪数。由于同一个地点的单位只能完全被杀一次,所以当两个英雄所在的格子在同一点,即X值相等时,所加的单位总数只添加该格单位数量一次。
我们将五个英雄的X值从小到大排序,用数组x记录。首先可以确认map[x[1],k+1-x[1]]必然会被经过;随后,由于数组是由小到大排列,所以当x[i]x[i-1]时,x[i]必然与前i-1个X值不同,此时map[x[i],k+1-x[i]]也会被经过。将所有经过的点的单位数相加,即为compare函数的值。
到此为止,就是本道题核心算法的框架结构。
[程序清单]
program dota;
const
maxn=10;
var
f:array[1..2*maxn-1,0..maxn,0..maxn,0..maxn,0..maxn,0..maxn] of integer;
i,j,k,x1,x2,x3,x4,x5,n:longint;
dx:array[1..32,1..5] of integer;
map:array[1..maxn,1..maxn] of integer;
procedure compare(k,x1,x2,x3,x4,x5:longint);
var
x:array[1..5] of longint;
i,j,t:longint;
begin
x[1]:=x1;x[2]:=x2;x[3]:=x3;x[4]:=x4;x[5]:=x5;
for i:=1 to 4 do
for j:=i+1 to 5 do
if x[i]x[j]
then
begin
t:=x[i];
x[i]:=x[j];
x[j]:=t;
end;
inc(f[k,x1,x2,x3,x4,x5],map[x[1],k+1-x[1]]);
for i:=2 to 5 do
if x[i]x[i-1]
then
inc(f[k,x1,x2,x3,x4,x5],map[x[i],k+1-x[i]]);
end;
begin
read(n);
for i:=1 to n do
for j:=1 to n do
read(map[i,j]);
k:=0;
for x1:=0 to 1 do
for x2:=0 to 1 do
for x3:=0 to 1 do
for x4:=0 to 1 do
for x5:=0 to 1 do
begin
inc(k);
dx[k,1]:=x1;
dx[k,2]:=x2;
dx[k,3]:=x3;
dx[k,4]:=x4;
dx[k,5]:=x5;
end;
f[1,1,1,1,1,1]:=map[1,1];
for i:=2 to n do
for x1:=1 to i do
for x2:=1 to i do
for x3:=1 to i do
for x4:=1 to i do
for x5:=1 to i do
begin
f[i,x1,x2,x3,x4,x5]:=0;
for j:=1 to k do
if f[i-1,x1-dx[j,1],x2-dx[j,2],x3-dx[j,3],x4-dx[j,4],x5-dx[j,5]]f[i,x1,x2,x3,x4,x5]
then
f[i,x1,x2,x3,x4,x5]:=f[i-1,x1-dx[j,1],x2-dx[j,2],x3-dx[j,3],x4-dx[j,4],x5-dx[j,5]];
compare(i,x1,x2,x3,x4,x5);
end;
for i:=n+1 to 2*n-1 do
for x1:=i-n+1 to n do
for x2:=i-n+1 to n do
for x3:=i-n+1 to n do
for x4:=i-n+1 to n do
for
您可能关注的文档
- [计算机]Ch2-软件测试概念-STMT.ppt
- [计算机]AutoCAD_2004常用命令及简单技巧.ppt
- [计算机]ch8-2实用组网技术实训教程.ppt
- [计算机]cpu比拼.doc
- [计算机]c中高效的excel导入sqlserver的方法.doc
- [计算机]cpu价格.doc
- [计算机]DES电子印章系统客户端安全性介绍.doc
- [计算机]Digital_fusion流程编辑器.pdf
- [计算机]Diskpart 命令行实用工具介绍.pdf
- [计算机]DMZ.doc
- 物理(云南卷)(考试版A4) .docx
- 广州花都区2024-2025学年牛津深圳版七年级英语下第三次月考模拟练习题(含答案解析).docx
- 广州花都区2024-2025学年牛津深圳版八年级英语下第三次月考模拟练习卷(含答案解析).docx
- 物理(云南卷)(考试版A4).docx
- 广州天河区2024-2025学年牛津深圳版八年级英语下第三次月考模拟练习题(含答案解析).docx
- 2024-2025学年吉林省长春市第七十二中学九年级(下)月考语文试卷(3月份).docx
- 坐标测量机试题及答案.docx
- 地形数字测绘试题及答案.docx
- 地铁服务试题库及答案.docx
- 花店与茶馆合作合同.docx
最近下载
- 雨课堂学堂在线《网络测量与行为学(东南)》学堂云单元测试考核答案.pdf
- CA6140车床法兰盘加工工艺规程及夹具设计_毕业论文成都理工大学.doc VIP
- 豫西北教研联盟 (平许洛济)2024—2025学年高三三模化学试卷(含答案).pdf
- 胰岛素注射并发症及处理课件.pptx VIP
- 精编新版2020年大学《中国近现代史纲要》期末完整题库100题(含答案).doc VIP
- 教育法规与政策.pdf VIP
- 官方解读整治形式主义为基层减负若干规定.pptx VIP
- 2023-2024学年八年级下册家长会课件地生会考 课件.pptx
- 2024年全国职业院校技能大赛中职组(母婴照护赛项)考试题库(含答案).doc VIP
- 个人专业技术总结范文6篇.pdf VIP
文档评论(0)