趣味编程-青蛙过河:
两队青蛙,河左边3只,右边3只,青蛙过河要踩着石头,每次移动青蛙最多可以跳过对面的一只青蛙,但必须落在空的石头上。
算法原则:
每次只移动一只青蛙。
1) 检查整个路径左侧青蛙越过右侧青蛙跳到空白石头上的情况;
2) 检查整个路径右左侧青蛙越过左侧青蛙跳到空白石头上的情况;
3) 检查整个路径左侧青蛙可以直接向右移动到空白石头上的情况,并且保证移动后向左的青蛙会与向右的青蛙相邻;
4) 检查整个路径右侧青蛙直接向左移动到空白石头上的情况,并且保证移动后向右的青蛙会与向左的青蛙相邻;
到达对岸时结果 +1;
#include <stdio.h>
void print_road(int arrRoad[], int nLen)
{
int i = 0;
for (i = 0; i < nLen; i++)
{
if (arrRoad[i] < 0)
printf("-> ");
else if (arrRoad[i] > 0)
printf("<- ");
else
printf(&#