Skip to content

xiaoce-2025/MoShouShiJie

Repository files navigation

MoShouShiJie

北京大学程序设计实习2025春魔兽世界大作业

题目

魔兽世界终极版

魔兽世界一(备战)

魔兽世界二(装备)

魔兽世界三(开战)

关于魔兽世界终极版一些比较容易忽视的内容(?

  1. 关于dragon士气取小数点后两位的问题

这个我自己也没有研究明白他是一个什么机制,但是将士气用double类型替换float类型后是可以ac的。(详见代码中实现)

*学完ics相关内容后回来补一下:通俗的讲,编译器的四舍五入源于其理解该数“离谁更近”。一些情况下,float和double类型在数据储存时由于内存管理方式的差异,会导致其对.5数据的四舍五入出现不一致的问题。

*归结于这个题本身,可能是由于测试数据生成时使用的运行环境/数据类型与使用double类型并在openjudge上运行时结果不一致,导致使用double类型时无法ac。可以尝试不同的浮点数据类型。

  1. sword生成时即有可能攻击力为0,要在生成时进行检验

  2. 魔兽世界终极版测试数据量较大,如何快速发现wrong answer的点?

首先,在代码main函数开头添加以下片段将输出重定向到文件中(记得include fstream)

streambuf *orig_buf = std::cout.rdbuf();
ofstream out("output.txt");
if (out){
	std::cout.rdbuf(out.rdbuf());
}

接着便可以通过文本比对网站(推荐这个网站)来快速查看标准输出与你的输出的区别

About

北京大学程序设计实习2025春魔兽世界大作业

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages