第2章简单计算问题.pptVIP

  1. 1、本文档共16页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第2章简单计算问题

第二章 简单计算题;鸡兔同笼问题;鸡兔同笼问题;国际象棋的棋盘是黑白相间的8*8的方格,棋子在格子中间,走子规则如下: 王:横、直、斜都可以走,但每步限走一格 后:横、直、斜都可以走,每步格数不受限制 车:横、竖均可以走,不能斜走,格数不受限制 象:只能斜走,格数不限;输入数据 测试数据的组数t。每行测试数据包括棋盘上起始位置和目标位置。位置用字母-数字形式表示, 字母从a到h,数字从1到8。 输出要求 对输入的每组测试数据,输出王、后、车、象所需的最少步数。 无法到达输出 Inf 解题思路 王、后、车、象彼此独立,分别考虑,假设起始位置与终止位置在水平方向上的距离是x,它们在竖直方向上的距离是y 王需要的步数是 min(x,y)+abs(x-y) 后需要步数是1(x等于y 或x等于0 或y等于0)或者2(x不等于y)。 车需要步数为1(x 或者y 等于0)或者2(x 和y 都不等于0)。 象每走一步,横、纵坐标增加或减小的绝对值相等,坐标之差的奇偶性保持不变。因此当奇偶性不同,无法到达。如果相同,从起始点走到终止点需要 1(x与y的绝对值相等)或者2(x与y的绝对值不相等);#include stdio.h #include math.h void main( ) { int nCases, i; scanf(%d, nCases); for(i = 0; i nCases; i++) {char begin[5], end[5]; scanf(%s %s, begin, end); int x, y; x =abs(begin[0] - end[0]); y =abs(begin[1] - end[1]); ;校门外的树;思路1: 开一个有L+1个元素的数组,每个元素对应一棵树,初始化为1,表示各个位置上都有树;然后每读入一个区间,就将该区间对应数组元素变成0,表示该区间的树都被砍了;最后算一下还有几个1,就是还剩几棵树了。 这种做法比较慢但直观 思路2: 将区间按起点排序,然后把所有区间遍历一遍,就把所有的树都砍了。不用开设L+1个元素的数组了,但是要开设数组将所有区间的起点,终点保存下来 留做习题;#include stdio.h void main() { int L, i, j, n; bool trees[10001]; /*标准C中定义成int型*/ for(i = 0; i 10001; i++) trees[i] = true; scanf(%d%d,L,n); for(i = 0; i n; i++){ int begin, end; scanf(%d%d, begin, end); for(j = begin; j = end; j++) trees[j] = false; } int count = 0; for(i = 0; i = L; i++) if (trees[i]) count ++; printf(%d\n, count); } ;填词;填 词;填 词;装箱问题;解题思想: 先放大的,后放小的 6*6的木块每个占用一个新箱子; 5*5的木块每个占用一个新箱子,余下11个1*1的空格; 4*4的木块每个占用一个新箱子,余下5个2*2的空格; 3*3的木块每4个占用新一个箱子,不足4个也占一个新箱子,分情况余下不同数目的空格; 2*2的木块先填空格,空格不足开新箱子,每9个2*2的木块占一个新箱子; 1*1的木块先填空格,空格不足开新箱子,每36个占一个新箱子。; 装箱问题;实验题五

文档评论(0)

shaoye348 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档