起点和终点将矩阵分成两部分,然后让你从两个部分分别求一条最短路。
判断点属于那个部分只要用ToLeftTest就可以了,大于0在直线的左边。第一次求起点到终点,第二次求终点到起点的最短路。起点和终点的分数这样会被计算两次,需要减一下。
#include<bits/stdc++.h>
using namespace std;
int n,m,inq[120][120];
double s[120][120];
double d[120][120];
int dx[]= {
1,-1,0,0,1,-1,1,-1};
int dy[]= {
0,0,1,-1,1,-1,-1,1};
struct Poin