两个编程题
1 在一m*n格的棋盘上,有的格子有水、是湿的,有的没水、是干的;有一个用海绵制作的棋子,在棋盘上可以向上、下、左、右移动到相邻的格子里,可以是湿的或干的格子;这个棋子每次经过湿的格子,都会吸收固定数量的水。用一个两维数组来表示这个棋盘,值为1表示格子有水,为0表示没有水。现在,要将该棋子从左上角移动到右下角;请编程找出通行线路,使得此海绵棋子吸水最少。(编程语言不限)
2 一超市有A、B两个分店,每个分店有个数不等的货柜,每个货柜有种类不等的蔬菜,每种蔬菜有不同的数量,每个货柜和蔬菜有不同的名称(但是A、B两分店的货柜和蔬菜的名称可能有重复的)。现在A、B两个分店合并,相同的货柜合在一起,相同的蔬菜合在一起,得到合并后的数量。
用链表来描述分店的不同货柜,按货柜名称的字母升序排列,每个货柜的蔬菜也用链表来描述,按蔬菜名称的字母升序排列,请用C语言编写一个函数,实现两个分店的合并。
高手提示一下算法