配套课件-第2章 队列(C++版).pptVIP

  • 68
  • 0
  • 约8.96千字
  • 约 22页
  • 2019-07-17 发布于山东
  • 举报
第二章 队列 【例2-5】最少步数 【问题描述】 在各种棋中,棋子的走法总是一定的,如中国象棋中马走“日”。有一位小学生就想如果马能有两种走法将增加其趣味性,因此,他规定马既能按“日”走,也能如象一样走“田”字。他的同桌平时喜欢下围棋,知道这件事后觉得很有趣,就想试一试,在一个(100*100)的围棋盘上任选两点A、B,A点放上黑子,B点放上白子,代表两匹马。棋子可以按“日”字走,也可以按“田”字走,俩人一个走黑马,一个走白马。谁用最少的步数走到左上角坐标为(1,1)的点时,谁获胜。现在他请你帮忙,给你A、B两点的坐标,想知道两个位置到(1,1)点可能的最少步数。 【输入样例】   12 16 18 10 【输出样例】   8 9 【算法分析】 由于A、B两点是随机输入的,因此无法找到计算最少步数的数学规律,只能通过广度优先搜索的办法求解。 2、奇怪的电梯(lift.cpp) 【问题描述】 大楼的每一层楼都可以停电梯,而且第i层楼(1=i=N)上有一个数字Ki(0=Ki=N)。电梯只有四个按钮:开,关,上,下。上下的层数等于当前楼层上的那个数字。当然,如果不能满足要求,相应的按钮就会失灵。例如:3 3 1 2 5代表了Ki(K1=3,K2=3,……),从一楼开始。在一楼,按“上”可以到4楼,按“下”是不起作用的,因为没有-2楼。那么

文档评论(0)

1亿VIP精品文档

相关文档