矩阵迷宫 HihoCoder - 1702

 矩阵迷宫

  HihoCoder - 1702

给定一个NxN的方格矩阵迷宫,每个格子中都有一个整数Aij。最初小Hi位于迷宫左上角的格子A11,他每一步可以向右或向下移动,目标是移动到迷宫的出口——右下角ANN。  

小Hi需要支付的代价包括路径中经过的所有格子中的整数之和,以及改变移动方向需要支付的代价。  

小Hi第一次改变方向的代价是1,第二次的代价是2,第三次的代价是4,…… 第K次的代价是2K-1。  

请你帮小Hi算出要离开迷宫代价最小的路径,并输出要支付的代价。

Input

第一行一个整数N。  (1 ≤ N ≤ 100)  

以下N行每行N个整数,代表矩阵A。  (1 ≤ Aij ≤ 100)

Output

从左上角到右下角路径的最小的代价。

Sample Input
3  
1 3 5  
1 1 2  
5 1 1
Sample Output
9

比赛的时候是想着用搜索找出最小的一条,但是要考虑转弯,不知道怎么用代码实现。

赛后看了博客才做的。

代码:

#include
#include
#include
#include
#define inf 0x3f3f
using namespace std;
int a[105][105],dpd[105][105][20],dpr[105][105][20];
int minn(int a,int b)
{
    if(a

你可能感兴趣的:(矩阵迷宫 HihoCoder - 1702)